[INFO] fetching crate gdnative-bindings-lily 0.9.3...
[INFO] checking gdnative-bindings-lily-0.9.3 against 4d7c0cd298ace72490220301fa543d63a154f8ce for pr-164789
[INFO] extracting crate gdnative-bindings-lily 0.9.3 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate gdnative-bindings-lily 0.9.3
[INFO] finished tweaking crates.io crate gdnative-bindings-lily 0.9.3
[INFO] tweaked toml for crates.io crate gdnative-bindings-lily 0.9.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gdnative-bindings-lily 0.9.3 on toolchain 4d7c0cd298ace72490220301fa543d63a154f8ce
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 58 packages to highest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.13.2)
[INFO] [stderr]       Adding gdnative-core v0.9.3 (available: v0.11.3)
[INFO] [stderr]       Adding gdnative-sys v0.9.3 (available: v0.11.3)
[INFO] [stderr]       Adding gdnative_bindings_generator v0.9.3 (available: v0.11.3)
[INFO] [stderr]       Adding heck v0.3.3 (available: v0.5.0)
[INFO] [stderr]       Adding mini-internal v0.1.13 (available: v0.1.46)
[INFO] [stderr]       Adding miniserde v0.1.13 (available: v0.1.46)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d047c32cbc162e76e8b751bb82829845d9e3746011c72db562fa773dd8c351d6
[INFO] running `Command { std: "docker" "start" "d047c32cbc162e76e8b751bb82829845d9e3746011c72db562fa773dd8c351d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d047c32cbc162e76e8b751bb82829845d9e3746011c72db562fa773dd8c351d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d047c32cbc162e76e8b751bb82829845d9e3746011c72db562fa773dd8c351d6" "/opt/rustwide/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d047c32cbc162e76e8b751bb82829845d9e3746011c72db562fa773dd8c351d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d047c32cbc162e76e8b751bb82829845d9e3746011c72db562fa773dd8c351d6" "/opt/rustwide/cargo-home/bin/cargo" "+4d7c0cd298ace72490220301fa543d63a154f8ce" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling bindgen v0.56.0
[INFO] [stderr]    Compiling shlex v0.1.1
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling xmlparser v0.13.6
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling clang-sys v1.9.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling unindent v0.1.11
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking euclid v0.22.14
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]    Compiling roxmltree v0.14.1
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling cexpr v0.4.0
[INFO] [stderr]    Compiling mini-internal v0.1.13
[INFO] [stderr]    Compiling gdnative-impl-proc-macros v0.9.3
[INFO] [stderr]    Compiling miniserde v0.1.13
[INFO] [stderr]    Compiling gdnative_bindings_generator v0.9.3
[INFO] [stderr]    Compiling gdnative-bindings-lily v0.9.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling gdnative-sys v0.9.3
[INFO] [stderr]     Checking gdnative-core v0.9.3
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:28:1792
[INFO] [stdout]    |
[INFO] [stdout] 28 | ...camel_case_types)] # [derive (Debug)] pub struct ARVRCamera { this : RawObject < Self > , } impl ARVRCamera { # [doc = "Creates a...
[INFO] [stdout]    |                                                     ----------   ^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ARVRCamera` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:58:1520
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...se_types)] # [derive (Debug)] pub struct AudioEffectBandLimitFilter { this : RawObject < Self > , } impl AudioEffectBandLimitFilt...
[INFO] [stdout]    |                                             --------------------------   ^^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AudioEffectBandLimitFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:76:1194
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...amel_case_types)] # [derive (Debug)] pub struct InputDefault { this : RawObject < Self > , } impl InputDefault { } impl gdnative_...
[INFO] [stdout]    |                                                    ------------   ^^^^
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputDefault` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:100:1458
[INFO] [stdout]     |
[INFO] [stdout] 100 | ...ase_types)] # [derive (Debug)] pub struct VisualShaderNodeCustom { this : RawObject < Self > , } impl VisualShaderNodeCustom { #...
[INFO] [stdout]     |                                              ----------------------   ^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeCustom` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:124:1309
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...camel_case_types)] # [derive (Debug)] pub struct JavaClass { this : RawObject < Self > , } impl JavaClass { # [doc = "Creates a ...
[INFO] [stdout]     |                                                     ---------   ^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JavaClass` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:136:1309
[INFO] [stdout]     |
[INFO] [stdout] 136 | ..._types)] # [derive (Debug)] pub struct BulletPhysicsDirectBodyState { this : RawObject < Self > , } impl BulletPhysicsDirectBody...
[INFO] [stdout]     |                                           ----------------------------   ^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BulletPhysicsDirectBodyState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:148:1353
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...case_types)] # [derive (Debug)] pub struct ResourceFormatLoader { this : RawObject < Self > , } impl ResourceFormatLoader { # [d...
[INFO] [stdout]     |                                               --------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResourceFormatLoader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:250:1365
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...el_case_types)] # [derive (Debug)] pub struct AudioBusLayout { this : RawObject < Self > , } impl AudioBusLayout { # [doc = "Cre...
[INFO] [stdout]     |                                                  --------------   ^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AudioBusLayout` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:304:1846
[INFO] [stdout]     |
[INFO] [stdout] 304 | ..._camel_case_types)] # [derive (Debug)] pub struct VSlider { this : RawObject < Self > , } impl VSlider { # [doc = "Creates a new...
[INFO] [stdout]     |                                                      -------   ^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VSlider` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:316:1760
[INFO] [stdout]     |
[INFO] [stdout] 316 | ...amel_case_types)] # [derive (Debug)] pub struct Position3D { this : RawObject < Self > , } impl Position3D { # [doc = "Creates a...
[INFO] [stdout]     |                                                    ----------   ^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Position3D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:436:1454
[INFO] [stdout]     |
[INFO] [stdout] 436 | ...case_types)] # [derive (Debug)] pub struct VisualScriptCondition { this : RawObject < Self > , } impl VisualScriptCondition { # ...
[INFO] [stdout]     |                                               ---------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualScriptCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:442:1337
[INFO] [stdout]     |
[INFO] [stdout] 442 | ...l_case_types)] # [derive (Debug)] pub struct ResourceImporter { this : RawObject < Self > , } impl ResourceImporter { } impl gdn...
[INFO] [stdout]     |                                                 ----------------   ^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResourceImporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:460:1434
[INFO] [stdout]     |
[INFO] [stdout] 460 | ...se_types)] # [derive (Debug)] pub struct AnimationTrackEditPlugin { this : RawObject < Self > , } impl AnimationTrackEditPlugin ...
[INFO] [stdout]     |                                             ------------------------   ^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnimationTrackEditPlugin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:484:1446
[INFO] [stdout]     |
[INFO] [stdout] 484 | ..._case_types)] # [derive (Debug)] pub struct VisualScriptSubCall { this : RawObject < Self > , } impl VisualScriptSubCall { # [do...
[INFO] [stdout]     |                                                -------------------   ^^^^
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualScriptSubCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:508:1498
[INFO] [stdout]     |
[INFO] [stdout] 508 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarStep { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]     |                                         --------------------------------   ^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeVectorScalarStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:574:1866
[INFO] [stdout]     |
[INFO] [stdout] 574 | ...el_case_types)] # [derive (Debug)] pub struct PanelContainer { this : RawObject < Self > , } impl PanelContainer { # [doc = "Cre...
[INFO] [stdout]     |                                                  --------------   ^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PanelContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:622:1437
[INFO] [stdout]     |
[INFO] [stdout] 622 | ..._case_types)] # [derive (Debug)] pub struct AnimationNodeOutput { this : RawObject < Self > , } impl AnimationNodeOutput { # [do...
[INFO] [stdout]     |                                                -------------------   ^^^^
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnimationNodeOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:646:1445
[INFO] [stdout]     |
[INFO] [stdout] 646 | ...case_types)] # [derive (Debug)] pub struct AnimationNodeTimeSeek { this : RawObject < Self > , } impl AnimationNodeTimeSeek { # ...
[INFO] [stdout]     |                                               ---------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnimationNodeTimeSeek` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:688:1307
[INFO] [stdout]     |
[INFO] [stdout] 688 | ...e_types)] # [derive (Debug)] pub struct Physics2DDirectBodyStateSW { this : RawObject < Self > , } impl Physics2DDirectBodyState...
[INFO] [stdout]     |                                            --------------------------   ^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Physics2DDirectBodyStateSW` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:700:1258
[INFO] [stdout]     |
[INFO] [stdout] 700 | ...camel_case_types)] # [derive (Debug)] pub struct Separator { this : RawObject < Self > , } impl Separator { } impl gdnative_core...
[INFO] [stdout]     |                                                     ---------   ^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Separator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:718:1464
[INFO] [stdout]     |
[INFO] [stdout] 718 | ...el_case_types)] # [derive (Debug)] pub struct AudioEffectEQ21 { this : RawObject < Self > , } impl AudioEffectEQ21 { # [doc = "C...
[INFO] [stdout]     |                                                  ---------------   ^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AudioEffectEQ21` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:736:1707
[INFO] [stdout]     |
[INFO] [stdout] 736 | ...mel_case_types)] # [derive (Debug)] pub struct JNISingleton { this : RawObject < Self > , } impl JNISingleton { # [doc = "Create...
[INFO] [stdout]     |                                                   ------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JNISingleton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:772:1321
[INFO] [stdout]     |
[INFO] [stdout] 772 | ...mel_case_types)] # [derive (Debug)] pub struct SpatialGizmo { this : RawObject < Self > , } impl SpatialGizmo { } impl gdnative_...
[INFO] [stdout]     |                                                   ------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpatialGizmo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:790:1564
[INFO] [stdout]     |
[INFO] [stdout] 790 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeBooleanUniform { this : RawObject < Self > , } impl VisualShaderNodeBoolea...
[INFO] [stdout]     |                                          ------------------------------   ^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeBooleanUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:820:1498
[INFO] [stdout]     |
[INFO] [stdout] 820 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeTransformCompose { this : RawObject < Self > , } impl VisualShaderNodeTrans...
[INFO] [stdout]     |                                         --------------------------------   ^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeTransformCompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:856:1908
[INFO] [stdout]     |
[INFO] [stdout] 856 | ...mel_case_types)] # [derive (Debug)] pub struct VBoxContainer { this : RawObject < Self > , } impl VBoxContainer { # [doc = "Crea...
[INFO] [stdout]     |                                                   -------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VBoxContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:868:1862
[INFO] [stdout]     |
[INFO] [stdout] 868 | ...camel_case_types)] # [derive (Debug)] pub struct CheckBox { this : RawObject < Self > , } impl CheckBox { # [doc = "Creates a ne...
[INFO] [stdout]     |                                                     --------   ^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:892:1439
[INFO] [stdout]     |
[INFO] [stdout] 892 | ...case_types)] # [derive (Debug)] pub struct AudioStreamMicrophone { this : RawObject < Self > , } impl AudioStreamMicrophone { # ...
[INFO] [stdout]     |                                               ---------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AudioStreamMicrophone` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:910:1494
[INFO] [stdout]     |
[INFO] [stdout] 910 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarMix { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]     |                                          -------------------------------   ^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeVectorScalarMix` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:952:1478
[INFO] [stdout]     |
[INFO] [stdout] 952 | ...e_types)] # [derive (Debug)] pub struct VisualShaderNodeScalarClamp { this : RawObject < Self > , } impl VisualShaderNodeScalarC...
[INFO] [stdout]     |                                            ---------------------------   ^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeScalarClamp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:976:1457
[INFO] [stdout]     |
[INFO] [stdout] 976 | ..._types)] # [derive (Debug)] pub struct WebRTCPeerConnectionGDNative { this : RawObject < Self > , } impl WebRTCPeerConnectionGDN...
[INFO] [stdout]     |                                           ----------------------------   ^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WebRTCPeerConnectionGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:982:1908
[INFO] [stdout]     |
[INFO] [stdout] 982 | ...mel_case_types)] # [derive (Debug)] pub struct HBoxContainer { this : RawObject < Self > , } impl HBoxContainer { # [doc = "Crea...
[INFO] [stdout]     |                                                   -------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HBoxContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:994:1246
[INFO] [stdout]     |
[INFO] [stdout] 994 | ..._case_types)] # [derive (Debug)] pub struct BulletPhysicsServer { this : RawObject < Self > , } impl BulletPhysicsServer { } imp...
[INFO] [stdout]     |                                                -------------------   ^^^^
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BulletPhysicsServer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1024:1771
[INFO] [stdout]      |
[INFO] [stdout] 1024 | ..._camel_case_types)] # [derive (Debug)] pub struct Panel { this : RawObject < Self > , } impl Panel { # [doc = "Creates a new in...
[INFO] [stdout]      |                                                      -----   ^^^^
[INFO] [stdout]      |                                                      |
[INFO] [stdout]      |                                                      field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Panel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1120:1470
[INFO] [stdout]      |
[INFO] [stdout] 1120 | ..._case_types)] # [derive (Debug)] pub struct EditorImportPlugin { this : RawObject < Self > , } impl EditorImportPlugin { } impl...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorImportPlugin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1168:1874
[INFO] [stdout]      |
[INFO] [stdout] 1168 | ...amel_case_types)] # [derive (Debug)] pub struct ToolButton { this : RawObject < Self > , } impl ToolButton { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ToolButton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1204:1498
[INFO] [stdout]      |
[INFO] [stdout] 1204 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeScalarSmoothStep { this : RawObject < Self > , } impl VisualShaderNodeScal...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarSmoothStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1216:1458
[INFO] [stdout]      |
[INFO] [stdout] 1216 | ...ase_types)] # [derive (Debug)] pub struct VisualScriptCustomNode { this : RawObject < Self > , } # [derive (Copy , Clone , Debu...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptCustomNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1222:1434
[INFO] [stdout]      |
[INFO] [stdout] 1222 | ...l_case_types)] # [derive (Debug)] pub struct VisualScriptSelf { this : RawObject < Self > , } impl VisualScriptSelf { # [doc = ...
[INFO] [stdout]      |                                                 ----------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptSelf` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1252:1458
[INFO] [stdout]      |
[INFO] [stdout] 1252 | ...types)] # [derive (Debug)] pub struct EditorResourceConversionPlugin { this : RawObject < Self > , } impl EditorResourceConvers...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorResourceConversionPlugin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1258:1522
[INFO] [stdout]      |
[INFO] [stdout] 1258 | ...se_types)] # [derive (Debug)] pub struct VisualScriptComposeArray { this : RawObject < Self > , } impl VisualScriptComposeArray...
[INFO] [stdout]      |                                             ------------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptComposeArray` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1306:1478
[INFO] [stdout]      |
[INFO] [stdout] 1306 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeFaceForward { this : RawObject < Self > , } impl VisualShaderNodeFaceFor...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeFaceForward` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1330:1458
[INFO] [stdout]      |
[INFO] [stdout] 1330 | ...types)] # [derive (Debug)] pub struct EditorResourcePreviewGenerator { this : RawObject < Self > , } impl EditorResourcePreview...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorResourcePreviewGenerator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1390:1408
[INFO] [stdout]      |
[INFO] [stdout] 1390 | ...ase_types)] # [derive (Debug)] pub struct ARVRInterfaceGDNative { this : RawObject < Self > , } impl ARVRInterfaceGDNative { # ...
[INFO] [stdout]      |                                              ---------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ARVRInterfaceGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1402:1449
[INFO] [stdout]      |
[INFO] [stdout] 1402 | ...ase_types)] # [derive (Debug)] pub struct AnimationNodeTimeScale { this : RawObject < Self > , } impl AnimationNodeTimeScale { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AnimationNodeTimeScale` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1414:1836
[INFO] [stdout]      |
[INFO] [stdout] 1414 | ...mel_case_types)] # [derive (Debug)] pub struct PopupDialog { this : RawObject < Self > , } impl PopupDialog { # [doc = "Creates...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PopupDialog` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1426:1365
[INFO] [stdout]      |
[INFO] [stdout] 1426 | ...el_case_types)] # [derive (Debug)] pub struct RichTextEffect { this : RawObject < Self > , } impl RichTextEffect { # [doc = "Cr...
[INFO] [stdout]      |                                                  --------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RichTextEffect` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1432:1438
[INFO] [stdout]      |
[INFO] [stdout] 1432 | ..._case_types)] # [derive (Debug)] pub struct VisualScriptWhile { this : RawObject < Self > , } impl VisualScriptWhile { # [doc =...
[INFO] [stdout]      |                                                -----------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptWhile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1438:1412
[INFO] [stdout]      |
[INFO] [stdout] 1438 | ...mel_case_types)] # [derive (Debug)] pub struct TextureArray { this : RawObject < Self > , } impl TextureArray { # [doc = "Creat...
[INFO] [stdout]      |                                                   ------------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TextureArray` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1444:1450
[INFO] [stdout]      |
[INFO] [stdout] 1444 | ...case_types)] # [derive (Debug)] pub struct VisualScriptIndexSet { this : RawObject < Self > , } impl VisualScriptIndexSet { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptIndexSet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1450:1478
[INFO] [stdout]      |
[INFO] [stdout] 1450 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeDeterminant { this : RawObject < Self > , } impl VisualShaderNodeDetermi...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeDeterminant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1462:1520
[INFO] [stdout]      |
[INFO] [stdout] 1462 | ...e_types)] # [derive (Debug)] pub struct AudioEffectHighShelfFilter { this : RawObject < Self > , } impl AudioEffectHighShelfFil...
[INFO] [stdout]      |                                            --------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectHighShelfFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1468:1495
[INFO] [stdout]      |
[INFO] [stdout] 1468 | ...ase_types)] # [derive (Debug)] pub struct EditorSceneImporterFBX { this : RawObject < Self > , } impl EditorSceneImporterFBX { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorSceneImporterFBX` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1480:1341
[INFO] [stdout]      |
[INFO] [stdout] 1480 | ...camel_case_types)] # [derive (Debug)] pub struct TextFile { this : RawObject < Self > , } impl TextFile { # [doc = "Creates a n...
[INFO] [stdout]      |                                                     --------   ^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TextFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1504:1560
[INFO] [stdout]      |
[INFO] [stdout] 1504 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeScalarUniform { this : RawObject < Self > , } impl VisualShaderNodeScalar...
[INFO] [stdout]      |                                          -----------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1528:1387
[INFO] [stdout]      |
[INFO] [stdout] 1528 | ..._case_types)] # [derive (Debug)] pub struct PacketPeerGDNative { this : RawObject < Self > , } impl PacketPeerGDNative { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PacketPeerGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1576:1522
[INFO] [stdout]      |
[INFO] [stdout] 1576 | ...s)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarSmoothStep { this : RawObject < Self > , } impl VisualShaderNodeV...
[INFO] [stdout]      |                                      --------------------------------------   ^^^^
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorScalarSmoothStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1672:1688
[INFO] [stdout]      |
[INFO] [stdout] 1672 | ...)] # [derive (Debug)] pub struct VisualShaderNodeTextureUniformTriplanar { this : RawObject < Self > , } impl VisualShaderNodeT...
[INFO] [stdout]      |                                     ---------------------------------------   ^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeTextureUniformTriplanar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1684:1186
[INFO] [stdout]      |
[INFO] [stdout] 1684 | ...l_case_types)] # [derive (Debug)] pub struct GlobalConstants { this : RawObject < Self > , } # [doc = "Constants"] # [allow (no...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `GlobalConstants` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1720:1478
[INFO] [stdout]      |
[INFO] [stdout] 1720 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeVectorClamp { this : RawObject < Self > , } impl VisualShaderNodeVectorC...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorClamp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1744:1652
[INFO] [stdout]      |
[INFO] [stdout] 1744 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeGlobalExpression { this : RawObject < Self > , } impl VisualShaderNodeGlob...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeGlobalExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1780:1906
[INFO] [stdout]      |
[INFO] [stdout] 1780 | ...mel_case_types)] # [derive (Debug)] pub struct CSGCombiner { this : RawObject < Self > , } impl CSGCombiner { # [doc = "Creates...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CSGCombiner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1816:1830
[INFO] [stdout]      |
[INFO] [stdout] 1816 | ...amel_case_types)] # [derive (Debug)] pub struct PopupPanel { this : RawObject < Self > , } impl PopupPanel { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PopupPanel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1828:1832
[INFO] [stdout]      |
[INFO] [stdout] 1828 | ...amel_case_types)] # [derive (Debug)] pub struct SpotLight { this : RawObject < Self > , } impl SpotLight { # [doc = "Creates a ...
[INFO] [stdout]      |                                                    ---------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SpotLight` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1834:1798
[INFO] [stdout]      |
[INFO] [stdout] 1834 | ...amel_case_types)] # [derive (Debug)] pub struct Position2D { this : RawObject < Self > , } impl Position2D { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Position2D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1846:1464
[INFO] [stdout]      |
[INFO] [stdout] 1846 | ...l_case_types)] # [derive (Debug)] pub struct AudioEffectEQ10 { this : RawObject < Self > , } impl AudioEffectEQ10 { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectEQ10` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1864:1442
[INFO] [stdout]      |
[INFO] [stdout] 1864 | ..._case_types)] # [derive (Debug)] pub struct VisualShaderNodeIf { this : RawObject < Self > , } impl VisualShaderNodeIf { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeIf` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1912:1494
[INFO] [stdout]      |
[INFO] [stdout] 1912 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeVectorDecompose { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]      |                                         -------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorDecompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1918:1506
[INFO] [stdout]      |
[INFO] [stdout] 1918 | ...pes)] # [derive (Debug)] pub struct VisualShaderNodeTransformDecompose { this : RawObject < Self > , } impl VisualShaderNodeTra...
[INFO] [stdout]      |                                        ----------------------------------   ^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeTransformDecompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1924:1349
[INFO] [stdout]      |
[INFO] [stdout] 1924 | ...case_types)] # [derive (Debug)] pub struct ResourceFormatSaver { this : RawObject < Self > , } impl ResourceFormatSaver { # [do...
[INFO] [stdout]      |                                               -------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ResourceFormatSaver` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1930:1450
[INFO] [stdout]      |
[INFO] [stdout] 1930 | ...case_types)] # [derive (Debug)] pub struct VisualScriptFunction { this : RawObject < Self > , } impl VisualScriptFunction { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptFunction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1948:1572
[INFO] [stdout]      |
[INFO] [stdout] 1948 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeTransformUniform { this : RawObject < Self > , } impl VisualShaderNodeTran...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeTransformUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1960:1652
[INFO] [stdout]      |
[INFO] [stdout] 1960 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeCubeMapUniform { this : RawObject < Self > , } impl VisualShaderNodeCubeM...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeCubeMapUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1972:1512
[INFO] [stdout]      |
[INFO] [stdout] 1972 | ...se_types)] # [derive (Debug)] pub struct AudioEffectLowPassFilter { this : RawObject < Self > , } impl AudioEffectLowPassFilter...
[INFO] [stdout]      |                                             ------------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectLowPassFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1990:1482
[INFO] [stdout]      |
[INFO] [stdout] 1990 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeScalarInterp { this : RawObject < Self > , } impl VisualShaderNodeScalar...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarInterp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2026:1462
[INFO] [stdout]      |
[INFO] [stdout] 2026 | ...se_types)] # [derive (Debug)] pub struct VisualShaderNodeFresnel { this : RawObject < Self > , } impl VisualShaderNodeFresnel {...
[INFO] [stdout]      |                                             -----------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeFresnel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2044:1873
[INFO] [stdout]      |
[INFO] [stdout] 2044 | ...amel_case_types)] # [derive (Debug)] pub struct HScrollBar { this : RawObject < Self > , } impl HScrollBar { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HScrollBar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2050:1846
[INFO] [stdout]      |
[INFO] [stdout] 2050 | ...camel_case_types)] # [derive (Debug)] pub struct HSlider { this : RawObject < Self > , } impl HSlider { # [doc = "Creates a new...
[INFO] [stdout]      |                                                     -------   ^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HSlider` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2074:1244
[INFO] [stdout]      |
[INFO] [stdout] 2074 | ..._case_types)] # [derive (Debug)] pub struct Physics2DServerSW { this : RawObject < Self > , } impl Physics2DServerSW { } impl g...
[INFO] [stdout]      |                                                -----------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Physics2DServerSW` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2092:1353
[INFO] [stdout]      |
[INFO] [stdout] 2092 | ...mel_case_types)] # [derive (Debug)] pub struct AudioEffect { this : RawObject < Self > , } impl AudioEffect { } impl gdnative_c...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffect` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2098:1458
[INFO] [stdout]      |
[INFO] [stdout] 2098 | ...ase_types)] # [derive (Debug)] pub struct VisualScriptExpression { this : RawObject < Self > , } impl VisualScriptExpression { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2134:1482
[INFO] [stdout]      |
[INFO] [stdout] 2134 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeVectorInterp { this : RawObject < Self > , } impl VisualShaderNodeVector...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorInterp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2152:1873
[INFO] [stdout]      |
[INFO] [stdout] 2152 | ...amel_case_types)] # [derive (Debug)] pub struct VScrollBar { this : RawObject < Self > , } impl VScrollBar { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VScrollBar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2158:1504
[INFO] [stdout]      |
[INFO] [stdout] 2158 | ...ase_types)] # [derive (Debug)] pub struct AudioEffectNotchFilter { this : RawObject < Self > , } impl AudioEffectNotchFilter { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectNotchFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2194:1486
[INFO] [stdout]      |
[INFO] [stdout] 2194 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorCompose { this : RawObject < Self > , } impl VisualShaderNodeVector...
[INFO] [stdout]      |                                          -----------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorCompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2200:1482
[INFO] [stdout]      |
[INFO] [stdout] 2200 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeOuterProduct { this : RawObject < Self > , } impl VisualShaderNodeOuterP...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeOuterProduct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2242:1470
[INFO] [stdout]      |
[INFO] [stdout] 2242 | ...e_types)] # [derive (Debug)] pub struct VisualShaderNodeVectorLen { this : RawObject < Self > , } impl VisualShaderNodeVectorLe...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorLen` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2254:1842
[INFO] [stdout]      |
[INFO] [stdout] 2254 | ...amel_case_types)] # [derive (Debug)] pub struct VSeparator { this : RawObject < Self > , } impl VSeparator { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VSeparator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2266:1349
[INFO] [stdout]      |
[INFO] [stdout] 2266 | ...case_types)] # [derive (Debug)] pub struct AudioEffectInstance { this : RawObject < Self > , } impl AudioEffectInstance { } imp...
[INFO] [stdout]      |                                               -------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectInstance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2284:1556
[INFO] [stdout]      |
[INFO] [stdout] 2284 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeColorUniform { this : RawObject < Self > , } impl VisualShaderNodeColorU...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeColorUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2338:1426
[INFO] [stdout]      |
[INFO] [stdout] 2338 | ...amel_case_types)] # [derive (Debug)] pub struct PointMesh { this : RawObject < Self > , } impl PointMesh { # [doc = "Creates a ...
[INFO] [stdout]      |                                                    ---------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PointMesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2380:1490
[INFO] [stdout]      |
[INFO] [stdout] 2380 | ...se_types)] # [derive (Debug)] pub struct MultiplayerPeerGDNative { this : RawObject < Self > , } impl MultiplayerPeerGDNative {...
[INFO] [stdout]      |                                             -----------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MultiplayerPeerGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2398:1458
[INFO] [stdout]      |
[INFO] [stdout] 2398 | ...ase_types)] # [derive (Debug)] pub struct VisualShaderNodeOutput { this : RawObject < Self > , } impl VisualShaderNodeOutput { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2404:1398
[INFO] [stdout]      |
[INFO] [stdout] 2404 | ...el_case_types)] # [derive (Debug)] pub struct StyleBoxEmpty { this : RawObject < Self > , } impl StyleBoxEmpty { # [doc = "Crea...
[INFO] [stdout]      |                                                  -------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `StyleBoxEmpty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2428:1516
[INFO] [stdout]      |
[INFO] [stdout] 2428 | ...e_types)] # [derive (Debug)] pub struct AudioEffectBandPassFilter { this : RawObject < Self > , } impl AudioEffectBandPassFilte...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectBandPassFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2440:1516
[INFO] [stdout]      |
[INFO] [stdout] 2440 | ...e_types)] # [derive (Debug)] pub struct AudioEffectHighPassFilter { this : RawObject < Self > , } impl AudioEffectHighPassFilte...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectHighPassFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2470:1353
[INFO] [stdout]      |
[INFO] [stdout] 2470 | ...mel_case_types)] # [derive (Debug)] pub struct VideoStream { this : RawObject < Self > , } impl VideoStream { } impl gdnative_c...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VideoStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2488:1474
[INFO] [stdout]      |
[INFO] [stdout] 2488 | ...e_types)] # [derive (Debug)] pub struct VisualShaderNodeDotProduct { this : RawObject < Self > , } impl VisualShaderNodeDotProd...
[INFO] [stdout]      |                                            --------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeDotProduct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2542:1490
[INFO] [stdout]      |
[INFO] [stdout] 2542 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorDistance { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorDistance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2584:1460
[INFO] [stdout]      |
[INFO] [stdout] 2584 | ...el_case_types)] # [derive (Debug)] pub struct AudioEffectEQ6 { this : RawObject < Self > , } impl AudioEffectEQ6 { # [doc = "Cr...
[INFO] [stdout]      |                                                  --------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectEQ6` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2602:1387
[INFO] [stdout]      |
[INFO] [stdout] 2602 | ..._case_types)] # [derive (Debug)] pub struct StreamPeerGDNative { this : RawObject < Self > , } impl StreamPeerGDNative { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `StreamPeerGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2716:1553
[INFO] [stdout]      |
[INFO] [stdout] 2716 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeScalarSwitch { this : RawObject < Self > , } impl VisualShaderNodeScalar...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2746:1321
[INFO] [stdout]      |
[INFO] [stdout] 2746 | ...mel_case_types)] # [derive (Debug)] pub struct TriangleMesh { this : RawObject < Self > , } impl TriangleMesh { # [doc = "Creat...
[INFO] [stdout]      |                                                   ------------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TriangleMesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2788:1880
[INFO] [stdout]      |
[INFO] [stdout] 2788 | ...mel_case_types)] # [derive (Debug)] pub struct CheckButton { this : RawObject < Self > , } impl CheckButton { # [doc = "Creates...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CheckButton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2866:1486
[INFO] [stdout]      |
[INFO] [stdout] 2866 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorRefract { this : RawObject < Self > , } impl VisualShaderNodeVector...
[INFO] [stdout]      |                                          -----------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorRefract` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2956:1552
[INFO] [stdout]      |
[INFO] [stdout] 2956 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeVec3Uniform { this : RawObject < Self > , } impl VisualShaderNodeVec3Uni...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVec3Uniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2968:1516
[INFO] [stdout]      |
[INFO] [stdout] 2968 | ...e_types)] # [derive (Debug)] pub struct AudioEffectLowShelfFilter { this : RawObject < Self > , } impl AudioEffectLowShelfFilte...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectLowShelfFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2992:1477
[INFO] [stdout]      |
[INFO] [stdout] 2992 | ...e_types)] # [derive (Debug)] pub struct WebRTCDataChannelGDNative { this : RawObject < Self > , } impl WebRTCDataChannelGDNativ...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `WebRTCDataChannelGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3004:1454
[INFO] [stdout]      |
[INFO] [stdout] 3004 | ...ase_types)] # [derive (Debug)] pub struct VisualScriptSceneTree { this : RawObject < Self > , } impl VisualScriptSceneTree { # ...
[INFO] [stdout]      |                                              ---------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptSceneTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3028:1498
[INFO] [stdout]      |
[INFO] [stdout] 3028 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeVectorSmoothStep { this : RawObject < Self > , } impl VisualShaderNodeVect...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorSmoothStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3040:1442
[INFO] [stdout]      |
[INFO] [stdout] 3040 | ..._case_types)] # [derive (Debug)] pub struct VisualScriptSwitch { this : RawObject < Self > , } impl VisualScriptSwitch { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3046:1349
[INFO] [stdout]      |
[INFO] [stdout] 3046 | ...case_types)] # [derive (Debug)] pub struct AudioStreamPlayback { this : RawObject < Self > , } impl AudioStreamPlayback { } imp...
[INFO] [stdout]      |                                               -------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioStreamPlayback` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3118:1926
[INFO] [stdout]      |
[INFO] [stdout] 3118 | ...l_case_types)] # [derive (Debug)] pub struct VSplitContainer { this : RawObject < Self > , } impl VSplitContainer { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VSplitContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3202:1450
[INFO] [stdout]      |
[INFO] [stdout] 3202 | ...case_types)] # [derive (Debug)] pub struct VisualScriptIterator { this : RawObject < Self > , } impl VisualScriptIterator { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptIterator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3250:1872
[INFO] [stdout]      |
[INFO] [stdout] 3250 | ...l_case_types)] # [derive (Debug)] pub struct MarginContainer { this : RawObject < Self > , } impl MarginContainer { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MarginContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3280:1293
[INFO] [stdout]      |
[INFO] [stdout] 3280 | ...el_case_types)] # [derive (Debug)] pub struct RootMotionView { this : RawObject < Self > , } impl RootMotionView { } impl gdnat...
[INFO] [stdout]      |                                                  --------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RootMotionView` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3388:1429
[INFO] [stdout]      |
[INFO] [stdout] 3388 | ..._case_types)] # [derive (Debug)] pub struct AnimationRootNode { this : RawObject < Self > , } impl AnimationRootNode { # [doc =...
[INFO] [stdout]      |                                                -----------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AnimationRootNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3496:1842
[INFO] [stdout]      |
[INFO] [stdout] 3496 | ...amel_case_types)] # [derive (Debug)] pub struct HSeparator { this : RawObject < Self > , } impl HSeparator { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HSeparator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3520:1454
[INFO] [stdout]      |
[INFO] [stdout] 3520 | ..._types)] # [derive (Debug)] pub struct AudioStreamPlaybackResampled { this : RawObject < Self > , } impl AudioStreamPlaybackRes...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioStreamPlaybackResampled` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3526:1926
[INFO] [stdout]      |
[INFO] [stdout] 3526 | ...l_case_types)] # [derive (Debug)] pub struct HSplitContainer { this : RawObject < Self > , } impl HSplitContainer { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HSplitContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3580:1400
[INFO] [stdout]      |
[INFO] [stdout] 3580 | ...amel_case_types)] # [derive (Debug)] pub struct Texture3D { this : RawObject < Self > , } impl Texture3D { # [doc = "Creates a ...
[INFO] [stdout]      |                                                    ---------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Texture3D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3676:1458
[INFO] [stdout]      |
[INFO] [stdout] 3676 | ...ase_types)] # [derive (Debug)] pub struct VisualShaderNodeSwitch { this : RawObject < Self > , } impl VisualShaderNodeSwitch { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3730:1165
[INFO] [stdout]      |
[INFO] [stdout] 3730 | ...camel_case_types)] # [derive (Debug)] pub struct IP_Unix { this : RawObject < Self > , } impl IP_Unix { } impl gdnative_core ::...
[INFO] [stdout]      |                                                     -------   ^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `IP_Unix` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3760:1450
[INFO] [stdout]      |
[INFO] [stdout] 3760 | ...case_types)] # [derive (Debug)] pub struct VisualScriptIndexGet { this : RawObject < Self > , } impl VisualScriptIndexGet { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptIndexGet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:4:16499
[INFO] [stdout]   |
[INFO] [stdout] 4 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'sta...
[INFO] [stdout]   |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]   |
[INFO] [stdout]   = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]   = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]   |
[INFO] [stdout] 4 |                 # [doc = "`core class SurfaceTool` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_surfacetool.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nSurfaceTool inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SurfaceTool { this : RawObject < Self > , } impl SurfaceTool { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SurfaceToolMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds an array of bones for the next vertex to use. `bones` must contain 4 integers."] # [doc = ""] # [inline] pub fn add_bones (& self , bones : Int32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_bones ; let ret = crate :: icalls :: icallptr_void_i32arr (method_bind , self . this . sys () . as_ptr () , bones) ; } } # [doc = "Specifies a [Color] for the next vertex to use."] # [doc = ""] # [inline] pub fn add_color (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_color ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = "Adds an index to index array if you are using indexed vertices. Does not need to be called before adding vertices."] # [doc = ""] # [inline] pub fn add_index (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_index ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "Specifies a normal for the next vertex to use."] # [doc = ""] # [inline] pub fn add_normal (& self , normal : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_normal ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , normal) ; } } # [doc = "Specifies whether the current vertex (if using only vertex arrays) or current index (if also using index arrays) should use smooth normals for normal calculation."] # [doc = ""] # [inline] pub fn add_smooth_group (& self , smooth : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_smooth_group ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , smooth) ; } } # [doc = "Specifies a tangent for the next vertex to use."] # [doc = ""] # [inline] pub fn add_tangent (& self , tangent : Plane) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_tangent ; let ret = crate :: icalls :: icallptr_void_plane (method_bind , self . this . sys () . as_ptr () , tangent) ; } } # [doc = "Inserts a triangle fan made of array data into [Mesh] being constructed.\nRequires the primitive type be set to [constant Mesh.PRIMITIVE_TRIANGLES].\n# Default Arguments\n* `uvs` - `PoolVector2Array(  )`\n* `colors` - `PoolColorArray(  )`\n* `uv2s` - `PoolVector2Array(  )`\n* `normals` - `PoolVector3Array(  )`\n* `tangents` - `[  ]`"] # [doc = ""] # [inline] pub fn add_triangle_fan (& self , vertices : Vector3Array , uvs : Vector2Array , colors : ColorArray , uv2s : Vector2Array , normals : Vector3Array , tangents : VariantArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_triangle_fan ; let ret = crate :: icalls :: icallptr_void_vec3arr_vec2arr_colorarr_vec2arr_vec3arr_arr (method_bind , self . this . sys () . as_ptr () , vertices , uvs , colors , uv2s , normals , tangents) ; } } # [doc = "Specifies a set of UV coordinates to use for the next vertex."] # [doc = ""] # [inline] pub fn add_uv (& self , uv : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_uv ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , uv) ; } } # [doc = "Specifies an optional second set of UV coordinates to use for the next vertex."] # [doc = ""] # [inline] pub fn add_uv2 (& self , uv2 : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_uv2 ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , uv2) ; } } # [doc = "Specifies the position of current vertex. Should be called after specifying other vertex properties (e.g. Color, UV)."] # [doc = ""] # [inline] pub fn add_vertex (& self , vertex : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_vertex ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , vertex) ; } } # [doc = "Specifies weight values for next vertex to use. `weights` must contain 4 values."] # [doc = ""] # [inline] pub fn add_weights (& self , weights : Float32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_weights ; let ret = crate :: icalls :: icallptr_void_f32arr (method_bind , self . this . sys () . as_ptr () , weights) ; } } # [doc = "Append vertices from a given [Mesh] surface onto the current vertex array with specified [Transform]."] # [doc = ""] # [inline] pub fn append_from (& self , existing : impl AsArg < crate :: generated :: mesh :: Mesh > , surface : i64 , transform : Transform) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . append_from ; let ret = crate :: icalls :: icallptr_void_obj_i64_trans (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , surface , transform) ; } } # [doc = "Called before adding any vertices. Takes the primitive type as an argument (e.g. [constant Mesh.PRIMITIVE_TRIANGLES])."] # [doc = ""] # [inline] pub fn begin (& self , primitive : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . begin ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , primitive) ; } } # [doc = "Clear all information passed into the surface tool so far."] # [doc = ""] # [inline] pub fn clear (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns a constructed [ArrayMesh] from current information passed in. If an existing [ArrayMesh] is passed in as an argument, will add an extra surface to the existing [ArrayMesh].\nDefault flag is [constant Mesh.ARRAY_COMPRESS_DEFAULT]. See `ARRAY_COMPRESS_*` constants in [enum Mesh.ArrayFormat] for other flags.\n# Default Arguments\n* `existing` - `null`\n* `flags` - `97280`"] # [doc = ""] # [inline] pub fn commit (& self , existing : impl AsArg < crate :: generated :: array_mesh :: ArrayMesh > , flags : i64) -> Option < Ref < crate :: generated :: array_mesh :: ArrayMesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . commit ; let ret = crate :: icalls :: icallptr_obj_obj_i64 (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , flags) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: array_mesh :: ArrayMesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Commits the data to the same format used by [method ArrayMesh.add_surface_from_arrays]. This way you can further process the mesh data using the [ArrayMesh] API."] # [doc = ""] # [inline] pub fn commit_to_arrays (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . commit_to_arrays ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Creates a vertex array from an existing [Mesh]."] # [doc = ""] # [inline] pub fn create_from (& self , existing : impl AsArg < crate :: generated :: mesh :: Mesh > , surface : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . create_from ; let ret = crate :: icalls :: icallptr_void_obj_i64 (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , surface) ; } } # [doc = "Creates a vertex array from the specified blend shape of an existing [Mesh]. This can be used to extract a specific pose from a blend shape."] # [doc = ""] # [inline] pub fn create_from_blend_shape (& self , existing : impl AsArg < crate :: generated :: mesh :: Mesh > , surface : i64 , blend_shape : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . create_from_blend_shape ; let ret = crate :: icalls :: icallptr_void_obj_i64_str (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , surface , blend_shape . into ()) ; } } # [doc = "Removes the index array by expanding the vertex array."] # [doc = ""] # [inline] pub fn deindex (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . deindex ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Generates normals from vertices so you do not have to do it manually. If `flip` is `true`, the resulting normals will be inverted.\nRequires the primitive type to be set to [constant Mesh.PRIMITIVE_TRIANGLES].\n# Default Arguments\n* `flip` - `false`"] # [doc = ""] # [inline] pub fn generate_normals (& self , flip : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . generate_normals ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , flip) ; } } # [doc = "Generates a tangent vector for each vertex. Requires that each vertex have UVs and normals set already."] # [doc = ""] # [inline] pub fn generate_tangents (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . generate_tangents ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Shrinks the vertex array by creating an index array (avoids reusing vertices)."] # [doc = ""] # [inline] pub fn index (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . index ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Sets [Material] to be used by the [Mesh] you are constructing."] # [doc = ""] # [inline] pub fn set_material (& self , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . set_material ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , material . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SurfaceTool { } unsafe impl GodotObject for SurfaceTool { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "SurfaceTool" } } impl std :: ops :: Deref for SurfaceTool { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SurfaceTool { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for SurfaceTool { } unsafe impl SubClass < crate :: generated :: object :: Object > for SurfaceTool { } impl Instanciable for SurfaceTool { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SurfaceTool :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SurfaceToolMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_bones : * mut sys :: godot_method_bind , pub add_color : * mut sys :: godot_method_bind , pub add_index : * mut sys :: godot_method_bind , pub add_normal : * mut sys :: godot_method_bind , pub add_smooth_group : * mut sys :: godot_method_bind , pub add_tangent : * mut sys :: godot_method_bind , pub add_triangle_fan : * mut sys :: godot_method_bind , pub add_uv : * mut sys :: godot_method_bind , pub add_uv2 : * mut sys :: godot_method_bind , pub add_vertex : * mut sys :: godot_method_bind , pub add_weights : * mut sys :: godot_method_bind , pub append_from : * mut sys :: godot_method_bind , pub begin : * mut sys :: godot_method_bind , pub clear : * mut sys :: godot_method_bind , pub commit : * mut sys :: godot_method_bind , pub commit_to_arrays : * mut sys :: godot_method_bind , pub create_from : * mut sys :: godot_method_bind , pub create_from_blend_shape : * mut sys :: godot_method_bind , pub deindex : * mut sys :: godot_method_bind , pub generate_normals : * mut sys :: godot_method_bind , pub generate_tangents : * mut sys :: godot_method_bind , pub index : * mut sys :: godot_method_bind , pub set_material : * mut sys :: godot_method_bind } impl SurfaceToolMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SurfaceToolMethodTable = SurfaceToolMethodTable { class_constructor : None , add_bones : 0 as * mut sys :: godot_method_bind , add_color : 0 as * mut sys :: godot_method_bind , add_index : 0 as * mut sys :: godot_method_bind , add_normal : 0 as * mut sys :: godot_method_bind , add_smooth_group : 0 as * mut sys :: godot_method_bind , add_tangent : 0 as * mut sys :: godot_method_bind , add_triangle_fan : 0 as * mut sys :: godot_method_bind , add_uv : 0 as * mut sys :: godot_method_bind , add_uv2 : 0 as * mut sys :: godot_method_bind , add_vertex : 0 as * mut sys :: godot_method_bind , add_weights : 0 as * mut sys :: godot_method_bind , append_from : 0 as * mut sys :: godot_method_bind , begin : 0 as * mut sys :: godot_method_bind , clear : 0 as * mut sys :: godot_method_bind , commit : 0 as * mut sys :: godot_method_bind , commit_to_arrays : 0 as * mut sys :: godot_method_bind , create_from : 0 as * mut sys :: godot_method_bind , create_from_blend_shape : 0 as * mut sys :: godot_method_bind , deindex : 0 as * mut sys :: godot_method_bind , generate_normals : 0 as * mut sys :: godot_method_bind , generate_tangents : 0 as * mut sys :: godot_method_bind , index : 0 as * mut sys :: godot_method_bind , set_material : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SurfaceToolMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SurfaceTool\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_bones = (gd_api . godot_method_bind_get_method) (class_name , "add_bones\0" . as_ptr () as * const c_char) ; table . add_color = (gd_api . godot_method_bind_get_method) (class_name , "add_color\0" . as_ptr () as * const c_char) ; table . add_index = (gd_api . godot_method_bind_get_method) (class_name , "add_index\0" . as_ptr () as * const c_char) ; table . add_normal = (gd_api . godot_method_bind_get_method) (class_name , "add_normal\0" . as_ptr () as * const c_char) ; table . add_smooth_group = (gd_api . godot_method_bind_get_method) (class_name , "add_smooth_group\0" . as_ptr () as * const c_char) ; table . add_tangent = (gd_api . godot_method_bind_get_method) (class_name , "add_tangent\0" . as_ptr () as * const c_char) ; table . add_triangle_fan = (gd_api . godot_method_bind_get_method) (class_name , "add_triangle_fan\0" . as_ptr () as * const c_char) ; table . add_uv = (gd_api . godot_method_bind_get_method) (class_name , "add_uv\0" . as_ptr () as * const c_char) ; table . add_uv2 = (gd_api . godot_method_bind_get_method) (class_name , "add_uv2\0" . as_ptr () as * const c_char) ; table . add_vertex = (gd_api . godot_method_bind_get_method) (class_name , "add_vertex\0" . as_ptr () as * const c_char) ; table . add_weights = (gd_api . godot_method_bind_get_method) (class_name , "add_weights\0" . as_ptr () as * const c_char) ; table . append_from = (gd_api . godot_method_bind_get_method) (class_name , "append_from\0" . as_ptr () as * const c_char) ; table . begin = (gd_api . godot_method_bind_get_method) (class_name , "begin\0" . as_ptr () as * const c_char) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . commit = (gd_api . godot_method_bind_get_method) (class_name , "commit\0" . as_ptr () as * const c_char) ; table . commit_to_arrays = (gd_api . godot_method_bind_get_method) (class_name , "commit_to_arrays\0" . as_ptr () as * const c_char) ; table . create_from = (gd_api . godot_method_bind_get_method) (class_name , "create_from\0" . as_ptr () as * const c_char) ; table . create_from_blend_shape = (gd_api . godot_method_bind_get_method) (class_name , "create_from_blend_shape\0" . as_ptr () as * const c_char) ; table . deindex = (gd_api . godot_method_bind_get_method) (class_name , "deindex\0" . as_ptr () as * const c_char) ; table . generate_normals = (gd_api . godot_method_bind_get_method) (class_name , "generate_normals\0" . as_ptr () as * const c_char) ; table . generate_tangents = (gd_api . godot_method_bind_get_method) (class_name , "generate_tangents\0" . as_ptr () as * const c_char) ; table . index = (gd_api . godot_method_bind_get_method) (class_name , "index\0" . as_ptr () as * const c_char) ; table . set_material = (gd_api . godot_method_bind_get_method) (class_name , "set_material\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:10:16138
[INFO] [stdout]    |
[INFO] [stdout] 10 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 10 |                 # [doc = "`core class HTTPRequest` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_httprequest.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`HTTPRequest` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<HTTPRequest>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nHTTPRequest inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct HTTPRequest { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct HttpRequestResult (pub i64) ; impl HttpRequestResult { pub const SUCCESS : HttpRequestResult = HttpRequestResult (0i64) ; pub const CHUNKED_BODY_SIZE_MISMATCH : HttpRequestResult = HttpRequestResult (1i64) ; pub const CANT_CONNECT : HttpRequestResult = HttpRequestResult (2i64) ; pub const CANT_RESOLVE : HttpRequestResult = HttpRequestResult (3i64) ; pub const CONNECTION_ERROR : HttpRequestResult = HttpRequestResult (4i64) ; pub const SSL_HANDSHAKE_ERROR : HttpRequestResult = HttpRequestResult (5i64) ; pub const NO_RESPONSE : HttpRequestResult = HttpRequestResult (6i64) ; pub const BODY_SIZE_LIMIT_EXCEEDED : HttpRequestResult = HttpRequestResult (7i64) ; pub const REQUEST_FAILED : HttpRequestResult = HttpRequestResult (8i64) ; pub const DOWNLOAD_FILE_CANT_OPEN : HttpRequestResult = HttpRequestResult (9i64) ; pub const DOWNLOAD_FILE_WRITE_ERROR : HttpRequestResult = HttpRequestResult (10i64) ; pub const REDIRECT_LIMIT_REACHED : HttpRequestResult = HttpRequestResult (11i64) ; pub const TIMEOUT : HttpRequestResult = HttpRequestResult (12i64) ; } impl From < i64 > for HttpRequestResult { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < HttpRequestResult > for i64 { # [inline] fn from (v : HttpRequestResult) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl HTTPRequest { pub const RESULT_BODY_SIZE_LIMIT_EXCEEDED : i64 = 7i64 ; pub const RESULT_CANT_CONNECT : i64 = 2i64 ; pub const RESULT_CANT_RESOLVE : i64 = 3i64 ; pub const RESULT_CHUNKED_BODY_SIZE_MISMATCH : i64 = 1i64 ; pub const RESULT_CONNECTION_ERROR : i64 = 4i64 ; pub const RESULT_DOWNLOAD_FILE_CANT_OPEN : i64 = 9i64 ; pub const RESULT_DOWNLOAD_FILE_WRITE_ERROR : i64 = 10i64 ; pub const RESULT_NO_RESPONSE : i64 = 6i64 ; pub const RESULT_REDIRECT_LIMIT_REACHED : i64 = 11i64 ; pub const RESULT_REQUEST_FAILED : i64 = 8i64 ; pub const RESULT_SSL_HANDSHAKE_ERROR : i64 = 5i64 ; pub const RESULT_SUCCESS : i64 = 0i64 ; pub const RESULT_TIMEOUT : i64 = 12i64 ; } impl HTTPRequest { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = HTTPRequestMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Cancels the current request."] # [doc = ""] # [inline] pub fn cancel_request (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . cancel_request ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns the response body length.\n**Note:** Some Web servers may not send a body length. In this case, the value returned will be `-1`. If using chunked transfer encoding, the body length will also be `-1`."] # [doc = ""] # [inline] pub fn get_body_size (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_body_size ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Maximum allowed size for response bodies."] # [doc = ""] # [inline] pub fn body_size_limit (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_body_size_limit ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The size of the buffer used and maximum bytes to read per iteration. See [member HTTPClient.read_chunk_size].\nSet this to a higher value (e.g. 65536 for 64 KiB) when downloading large files to achieve better speeds at the cost of memory."] # [doc = ""] # [inline] pub fn download_chunk_size (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_download_chunk_size ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The file to download into. Will output any received file into it."] # [doc = ""] # [inline] pub fn download_file (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_download_file ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the amount of bytes this HTTPRequest downloaded."] # [doc = ""] # [inline] pub fn get_downloaded_bytes (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_downloaded_bytes ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the current status of the underlying [HTTPClient]. See [enum HTTPClient.Status]."] # [doc = ""] # [inline] pub fn get_http_client_status (& self) -> crate :: generated :: http_client :: Status { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_http_client_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: http_client :: Status (ret) } } # [doc = "Maximum number of allowed redirects."] # [doc = ""] # [inline] pub fn max_redirects (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_max_redirects ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn timeout (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_timeout ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, multithreading is used to improve performance."] # [doc = ""] # [inline] pub fn is_using_threads (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . is_using_threads ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Creates request on the underlying [HTTPClient]. If there is no configuration errors, it tries to connect using [method HTTPClient.connect_to_host] and passes parameters onto [method HTTPClient.request].\nReturns [constant OK] if request is successfully created. (Does not imply that the server has responded), [constant ERR_UNCONFIGURED] if not in the tree, [constant ERR_BUSY] if still processing previous request, [constant ERR_INVALID_PARAMETER] if given string is not a valid URL format, or [constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot connect to host.\n**Note:** The `request_data` parameter is ignored if `method` is [constant HTTPClient.METHOD_GET]. This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See [method String.http_escape] for an example.\n# Default Arguments\n* `custom_headers` - `PoolStringArray(  )`\n* `ssl_validate_domain` - `true`\n* `method` - `0`\n* `request_data` - `\"\"`"] # [doc = ""] # [inline] pub fn request (& self , url : impl Into < GodotString > , custom_headers : StringArray , ssl_validate_domain : bool , method : i64 , request_data : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . request ; let ret = crate :: icalls :: icallptr_i64_str_strarr_bool_i64_str (method_bind , self . this . sys () . as_ptr () , url . into () , custom_headers , ssl_validate_domain , method , request_data . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Maximum allowed size for response bodies."] # [doc = ""] # [inline] pub fn set_body_size_limit (& self , bytes : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_body_size_limit ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , bytes) ; } } # [doc = "The size of the buffer used and maximum bytes to read per iteration. See [member HTTPClient.read_chunk_size].\nSet this to a higher value (e.g. 65536 for 64 KiB) when downloading large files to achieve better speeds at the cost of memory."] # [doc = ""] # [inline] pub fn set_download_chunk_size (& self , arg0 : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_download_chunk_size ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , arg0) ; } } # [doc = "The file to download into. Will output any received file into it."] # [doc = ""] # [inline] pub fn set_download_file (& self , path : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_download_file ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , path . into ()) ; } } # [doc = "Maximum number of allowed redirects."] # [doc = ""] # [inline] pub fn set_max_redirects (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_max_redirects ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_timeout (& self , timeout : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_timeout ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , timeout) ; } } # [doc = "If `true`, multithreading is used to improve performance."] # [doc = ""] # [inline] pub fn set_use_threads (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_use_threads ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for HTTPRequest { } unsafe impl GodotObject for HTTPRequest { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "HTTPRequest" } } impl QueueFree for HTTPRequest { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for HTTPRequest { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for HTTPRequest { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for HTTPRequest { } unsafe impl SubClass < crate :: generated :: object :: Object > for HTTPRequest { } impl Instanciable for HTTPRequest { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { HTTPRequest :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct HTTPRequestMethodTable { pub class_constructor : sys :: godot_class_constructor , pub cancel_request : * mut sys :: godot_method_bind , pub get_body_size : * mut sys :: godot_method_bind , pub get_body_size_limit : * mut sys :: godot_method_bind , pub get_download_chunk_size : * mut sys :: godot_method_bind , pub get_download_file : * mut sys :: godot_method_bind , pub get_downloaded_bytes : * mut sys :: godot_method_bind , pub get_http_client_status : * mut sys :: godot_method_bind , pub get_max_redirects : * mut sys :: godot_method_bind , pub get_timeout : * mut sys :: godot_method_bind , pub is_using_threads : * mut sys :: godot_method_bind , pub request : * mut sys :: godot_method_bind , pub set_body_size_limit : * mut sys :: godot_method_bind , pub set_download_chunk_size : * mut sys :: godot_method_bind , pub set_download_file : * mut sys :: godot_method_bind , pub set_max_redirects : * mut sys :: godot_method_bind , pub set_timeout : * mut sys :: godot_method_bind , pub set_use_threads : * mut sys :: godot_method_bind } impl HTTPRequestMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : HTTPRequestMethodTable = HTTPRequestMethodTable { class_constructor : None , cancel_request : 0 as * mut sys :: godot_method_bind , get_body_size : 0 as * mut sys :: godot_method_bind , get_body_size_limit : 0 as * mut sys :: godot_method_bind , get_download_chunk_size : 0 as * mut sys :: godot_method_bind , get_download_file : 0 as * mut sys :: godot_method_bind , get_downloaded_bytes : 0 as * mut sys :: godot_method_bind , get_http_client_status : 0 as * mut sys :: godot_method_bind , get_max_redirects : 0 as * mut sys :: godot_method_bind , get_timeout : 0 as * mut sys :: godot_method_bind , is_using_threads : 0 as * mut sys :: godot_method_bind , request : 0 as * mut sys :: godot_method_bind , set_body_size_limit : 0 as * mut sys :: godot_method_bind , set_download_chunk_size : 0 as * mut sys :: godot_method_bind , set_download_file : 0 as * mut sys :: godot_method_bind , set_max_redirects : 0 as * mut sys :: godot_method_bind , set_timeout : 0 as * mut sys :: godot_method_bind , set_use_threads : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { HTTPRequestMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "HTTPRequest\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . cancel_request = (gd_api . godot_method_bind_get_method) (class_name , "cancel_request\0" . as_ptr () as * const c_char) ; table . get_body_size = (gd_api . godot_method_bind_get_method) (class_name , "get_body_size\0" . as_ptr () as * const c_char) ; table . get_body_size_limit = (gd_api . godot_method_bind_get_method) (class_name , "get_body_size_limit\0" . as_ptr () as * const c_char) ; table . get_download_chunk_size = (gd_api . godot_method_bind_get_method) (class_name , "get_download_chunk_size\0" . as_ptr () as * const c_char) ; table . get_download_file = (gd_api . godot_method_bind_get_method) (class_name , "get_download_file\0" . as_ptr () as * const c_char) ; table . get_downloaded_bytes = (gd_api . godot_method_bind_get_method) (class_name , "get_downloaded_bytes\0" . as_ptr () as * const c_char) ; table . get_http_client_status = (gd_api . godot_method_bind_get_method) (class_name , "get_http_client_status\0" . as_ptr () as * const c_char) ; table . get_max_redirects = (gd_api . godot_method_bind_get_method) (class_name , "get_max_redirects\0" . as_ptr () as * const c_char) ; table . get_timeout = (gd_api . godot_method_bind_get_method) (class_name , "get_timeout\0" . as_ptr () as * const c_char) ; table . is_using_threads = (gd_api . godot_method_bind_get_method) (class_name , "is_using_threads\0" . as_ptr () as * const c_char) ; table . request = (gd_api . godot_method_bind_get_method) (class_name , "request\0" . as_ptr () as * const c_char) ; table . set_body_size_limit = (gd_api . godot_method_bind_get_method) (class_name , "set_body_size_limit\0" . as_ptr () as * const c_char) ; table . set_download_chunk_size = (gd_api . godot_method_bind_get_method) (class_name , "set_download_chunk_size\0" . as_ptr () as * const c_char) ; table . set_download_file = (gd_api . godot_method_bind_get_method) (class_name , "set_download_file\0" . as_ptr () as * const c_char) ; table . set_max_redirects = (gd_api . godot_method_bind_get_method) (class_name , "set_max_redirects\0" . as_ptr () as * const c_char) ; table . set_timeout = (gd_api . godot_method_bind_get_method) (class_name , "set_timeout\0" . as_ptr () as * const c_char) ; table . set_use_threads = (gd_api . godot_method_bind_get_method) (class_name , "set_use_threads\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:16:8442
[INFO] [stdout]    |
[INFO] [stdout] 16 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 # [doc = "`core class VisualShaderNodeCubeMap` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodecubemap.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeCubeMap inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeCubeMap { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Source (pub i64) ; impl Source { pub const TEXTURE : Source = Source (0i64) ; pub const PORT : Source = Source (1i64) ; } impl From < i64 > for Source { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Source > for i64 { # [inline] fn from (v : Source) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TextureType (pub i64) ; impl TextureType { pub const DATA : TextureType = TextureType (0i64) ; pub const COLOR : TextureType = TextureType (1i64) ; pub const NORMALMAP : TextureType = TextureType (2i64) ; } impl From < i64 > for TextureType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TextureType > for i64 { # [inline] fn from (v : TextureType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShaderNodeCubeMap { pub const SOURCE_PORT : i64 = 1i64 ; pub const SOURCE_TEXTURE : i64 = 0i64 ; pub const TYPE_COLOR : i64 = 1i64 ; pub const TYPE_DATA : i64 = 0i64 ; pub const TYPE_NORMALMAP : i64 = 2i64 ; } impl VisualShaderNodeCubeMap { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeCubeMapMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [CubeMap] texture to sample when using [constant SOURCE_TEXTURE] as [member source]."] # [doc = ""] # [inline] pub fn cube_map (& self) -> Option < Ref < crate :: generated :: cube_map :: CubeMap , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . get_cube_map ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: cube_map :: CubeMap , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Defines which source should be used for the sampling. See [enum Source] for options."] # [doc = ""] # [inline] pub fn source (& self) -> crate :: generated :: visual_shader_node_cube_map :: Source { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . get_source ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_cube_map :: Source (ret) } } # [doc = "Defines the type of data provided by the source texture. See [enum TextureType] for options."] # [doc = ""] # [inline] pub fn texture_type (& self) -> crate :: generated :: visual_shader_node_cube_map :: TextureType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . get_texture_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_cube_map :: TextureType (ret) } } # [doc = "The [CubeMap] texture to sample when using [constant SOURCE_TEXTURE] as [member source]."] # [doc = ""] # [inline] pub fn set_cube_map (& self , value : impl AsArg < crate :: generated :: cube_map :: CubeMap >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . set_cube_map ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , value . as_arg_ptr ()) ; } } # [doc = "Defines which source should be used for the sampling. See [enum Source] for options."] # [doc = ""] # [inline] pub fn set_source (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . set_source ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Defines the type of data provided by the source texture. See [enum TextureType] for options."] # [doc = ""] # [inline] pub fn set_texture_type (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . set_texture_type ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeCubeMap { } unsafe impl GodotObject for VisualShaderNodeCubeMap { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeCubeMap" } } impl std :: ops :: Deref for VisualShaderNodeCubeMap { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeCubeMap { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeCubeMap { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeCubeMap { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeCubeMap { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeCubeMap { } impl Instanciable for VisualShaderNodeCubeMap { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeCubeMap :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeCubeMapMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cube_map : * mut sys :: godot_method_bind , pub get_source : * mut sys :: godot_method_bind , pub get_texture_type : * mut sys :: godot_method_bind , pub set_cube_map : * mut sys :: godot_method_bind , pub set_source : * mut sys :: godot_method_bind , pub set_texture_type : * mut sys :: godot_method_bind } impl VisualShaderNodeCubeMapMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeCubeMapMethodTable = VisualShaderNodeCubeMapMethodTable { class_constructor : None , get_cube_map : 0 as * mut sys :: godot_method_bind , get_source : 0 as * mut sys :: godot_method_bind , get_texture_type : 0 as * mut sys :: godot_method_bind , set_cube_map : 0 as * mut sys :: godot_method_bind , set_source : 0 as * mut sys :: godot_method_bind , set_texture_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeCubeMapMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeCubeMap\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cube_map = (gd_api . godot_method_bind_get_method) (class_name , "get_cube_map\0" . as_ptr () as * const c_char) ; table . get_source = (gd_api . godot_method_bind_get_method) (class_name , "get_source\0" . as_ptr () as * const c_char) ; table . get_texture_type = (gd_api . godot_method_bind_get_method) (class_name , "get_texture_type\0" . as_ptr () as * const c_char) ; table . set_cube_map = (gd_api . godot_method_bind_get_method) (class_name , "set_cube_map\0" . as_ptr () as * const c_char) ; table . set_source = (gd_api . godot_method_bind_get_method) (class_name , "set_source\0" . as_ptr () as * const c_char) ; table . set_texture_type = (gd_api . godot_method_bind_get_method) (class_name , "set_texture_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:22:6340
[INFO] [stdout]    |
[INFO] [stdout] 22 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 # [doc = "`core class Thread` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_thread.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nThread inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Thread { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Priority (pub i64) ; impl Priority { pub const LOW : Priority = Priority (0i64) ; pub const NORMAL : Priority = Priority (1i64) ; pub const HIGH : Priority = Priority (2i64) ; } impl From < i64 > for Priority { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Priority > for i64 { # [inline] fn from (v : Priority) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Thread { pub const PRIORITY_HIGH : i64 = 2i64 ; pub const PRIORITY_LOW : i64 = 0i64 ; pub const PRIORITY_NORMAL : i64 = 1i64 ; } impl Thread { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ThreadMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns the current [Thread]'s ID, uniquely identifying it among all threads. If the [Thread] is not running this returns an empty string."] # [doc = ""] # [inline] pub fn get_id (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . get_id ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns `true` if this [Thread] is currently active. An active [Thread] cannot start work on a new method but can be joined with [method wait_to_finish]."] # [doc = ""] # [inline] pub fn is_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . is_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Starts a new [Thread] that runs `method` on object `instance` with `userdata` passed as an argument. Even if no userdata is passed, `method` must accept one argument and it will be null. The `priority` of the [Thread] can be changed by passing a value from the [enum Priority] enum.\nReturns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure.\n# Default Arguments\n* `userdata` - `null`\n* `priority` - `1`"] # [doc = ""] # [inline] pub fn start (& self , instance : impl AsArg < crate :: generated :: object :: Object > , method : impl Into < GodotString > , userdata : impl OwnedToVariant , priority : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . start ; let ret = crate :: icalls :: icallptr_i64_obj_str_var_i64 (method_bind , self . this . sys () . as_ptr () , instance . as_arg_ptr () , method . into () , userdata . owned_to_variant () , priority) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Joins the [Thread] and waits for it to finish. Returns what the method called returned."] # [doc = ""] # [inline] pub fn wait_to_finish (& self) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . wait_to_finish ; let ret = crate :: icalls :: icallptr_var (method_bind , self . this . sys () . as_ptr ()) ; Variant :: from_sys (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for Thread { } unsafe impl GodotObject for Thread { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Thread" } } impl std :: ops :: Deref for Thread { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Thread { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Thread { } unsafe impl SubClass < crate :: generated :: object :: Object > for Thread { } impl Instanciable for Thread { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Thread :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ThreadMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_id : * mut sys :: godot_method_bind , pub is_active : * mut sys :: godot_method_bind , pub start : * mut sys :: godot_method_bind , pub wait_to_finish : * mut sys :: godot_method_bind } impl ThreadMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ThreadMethodTable = ThreadMethodTable { class_constructor : None , get_id : 0 as * mut sys :: godot_method_bind , is_active : 0 as * mut sys :: godot_method_bind , start : 0 as * mut sys :: godot_method_bind , wait_to_finish : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ThreadMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "_Thread\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_id = (gd_api . godot_method_bind_get_method) (class_name , "get_id\0" . as_ptr () as * const c_char) ; table . is_active = (gd_api . godot_method_bind_get_method) (class_name , "is_active\0" . as_ptr () as * const c_char) ; table . start = (gd_api . godot_method_bind_get_method) (class_name , "start\0" . as_ptr () as * const c_char) ; table . wait_to_finish = (gd_api . godot_method_bind_get_method) (class_name , "wait_to_finish\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:28:4298
[INFO] [stdout]    |
[INFO] [stdout] 28 | ...odTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 # [doc = "`core class ARVRCamera` inherits `Camera` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrcamera.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`ARVRCamera` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<ARVRCamera>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nARVRCamera inherits methods from:\n - [Camera](struct.Camera.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVRCamera { this : RawObject < Self > , } impl ARVRCamera { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ARVRCameraMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVRCamera { } unsafe impl GodotObject for ARVRCamera { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVRCamera" } } impl QueueFree for ARVRCamera { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for ARVRCamera { type Target = crate :: generated :: camera :: Camera ; # [inline] fn deref (& self) -> & crate :: generated :: camera :: Camera { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVRCamera { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: camera :: Camera { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: camera :: Camera > for ARVRCamera { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for ARVRCamera { } unsafe impl SubClass < crate :: generated :: node :: Node > for ARVRCamera { } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVRCamera { } impl Instanciable for ARVRCamera { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ARVRCamera :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVRCameraMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl ARVRCameraMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVRCameraMethodTable = ARVRCameraMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVRCameraMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVRCamera\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:34:8276
[INFO] [stdout]    |
[INFO] [stdout] 34 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 # [doc = "`core class SliderJoint` inherits `Joint` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_sliderjoint.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`SliderJoint` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<SliderJoint>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nSliderJoint inherits methods from:\n - [Joint](struct.Joint.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SliderJoint { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Param (pub i64) ; impl Param { pub const LINEAR_LIMIT_UPPER : Param = Param (0i64) ; pub const LINEAR_LIMIT_LOWER : Param = Param (1i64) ; pub const LINEAR_LIMIT_SOFTNESS : Param = Param (2i64) ; pub const LINEAR_LIMIT_RESTITUTION : Param = Param (3i64) ; pub const LINEAR_LIMIT_DAMPING : Param = Param (4i64) ; pub const LINEAR_MOTION_SOFTNESS : Param = Param (5i64) ; pub const LINEAR_MOTION_RESTITUTION : Param = Param (6i64) ; pub const LINEAR_MOTION_DAMPING : Param = Param (7i64) ; pub const LINEAR_ORTHOGONAL_SOFTNESS : Param = Param (8i64) ; pub const LINEAR_ORTHOGONAL_RESTITUTION : Param = Param (9i64) ; pub const LINEAR_ORTHOGONAL_DAMPING : Param = Param (10i64) ; pub const ANGULAR_LIMIT_UPPER : Param = Param (11i64) ; pub const ANGULAR_LIMIT_LOWER : Param = Param (12i64) ; pub const ANGULAR_LIMIT_SOFTNESS : Param = Param (13i64) ; pub const ANGULAR_LIMIT_RESTITUTION : Param = Param (14i64) ; pub const ANGULAR_LIMIT_DAMPING : Param = Param (15i64) ; pub const ANGULAR_MOTION_SOFTNESS : Param = Param (16i64) ; pub const ANGULAR_MOTION_RESTITUTION : Param = Param (17i64) ; pub const ANGULAR_MOTION_DAMPING : Param = Param (18i64) ; pub const ANGULAR_ORTHOGONAL_SOFTNESS : Param = Param (19i64) ; pub const ANGULAR_ORTHOGONAL_RESTITUTION : Param = Param (20i64) ; pub const ANGULAR_ORTHOGONAL_DAMPING : Param = Param (21i64) ; pub const MAX : Param = Param (22i64) ; } impl From < i64 > for Param { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Param > for i64 { # [inline] fn from (v : Param) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl SliderJoint { pub const PARAM_ANGULAR_LIMIT_DAMPING : i64 = 15i64 ; pub const PARAM_ANGULAR_LIMIT_LOWER : i64 = 12i64 ; pub const PARAM_ANGULAR_LIMIT_RESTITUTION : i64 = 14i64 ; pub const PARAM_ANGULAR_LIMIT_SOFTNESS : i64 = 13i64 ; pub const PARAM_ANGULAR_LIMIT_UPPER : i64 = 11i64 ; pub const PARAM_ANGULAR_MOTION_DAMPING : i64 = 18i64 ; pub const PARAM_ANGULAR_MOTION_RESTITUTION : i64 = 17i64 ; pub const PARAM_ANGULAR_MOTION_SOFTNESS : i64 = 16i64 ; pub const PARAM_ANGULAR_ORTHOGONAL_DAMPING : i64 = 21i64 ; pub const PARAM_ANGULAR_ORTHOGONAL_RESTITUTION : i64 = 20i64 ; pub const PARAM_ANGULAR_ORTHOGONAL_SOFTNESS : i64 = 19i64 ; pub const PARAM_LINEAR_LIMIT_DAMPING : i64 = 4i64 ; pub const PARAM_LINEAR_LIMIT_LOWER : i64 = 1i64 ; pub const PARAM_LINEAR_LIMIT_RESTITUTION : i64 = 3i64 ; pub const PARAM_LINEAR_LIMIT_SOFTNESS : i64 = 2i64 ; pub const PARAM_LINEAR_LIMIT_UPPER : i64 = 0i64 ; pub const PARAM_LINEAR_MOTION_DAMPING : i64 = 7i64 ; pub const PARAM_LINEAR_MOTION_RESTITUTION : i64 = 6i64 ; pub const PARAM_LINEAR_MOTION_SOFTNESS : i64 = 5i64 ; pub const PARAM_LINEAR_ORTHOGONAL_DAMPING : i64 = 10i64 ; pub const PARAM_LINEAR_ORTHOGONAL_RESTITUTION : i64 = 9i64 ; pub const PARAM_LINEAR_ORTHOGONAL_SOFTNESS : i64 = 8i64 ; pub const PARAM_MAX : i64 = 22i64 ; } impl SliderJoint { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SliderJointMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "A factor applied to the movement across axes orthogonal to the slider."] # [doc = ""] # [inline] pub fn param (& self , param : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderJointMethodTable :: get (get_api ()) . get_param ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , param) ; ret as _ } } # [doc = "A factor applied to the movement across axes orthogonal to the slider."] # [doc = ""] # [inline] pub fn set_param (& self , param : i64 , value : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderJointMethodTable :: get (get_api ()) . set_param ; let ret = crate :: icalls :: icallptr_void_i64_f64 (method_bind , self . this . sys () . as_ptr () , param , value) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SliderJoint { } unsafe impl GodotObject for SliderJoint { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "SliderJoint" } } impl QueueFree for SliderJoint { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for SliderJoint { type Target = crate :: generated :: joint :: Joint ; # [inline] fn deref (& self) -> & crate :: generated :: joint :: Joint { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SliderJoint { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: joint :: Joint { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: joint :: Joint > for SliderJoint { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for SliderJoint { } unsafe impl SubClass < crate :: generated :: node :: Node > for SliderJoint { } unsafe impl SubClass < crate :: generated :: object :: Object > for SliderJoint { } impl Instanciable for SliderJoint { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SliderJoint :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SliderJointMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_param : * mut sys :: godot_method_bind , pub set_param : * mut sys :: godot_method_bind } impl SliderJointMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SliderJointMethodTable = SliderJointMethodTable { class_constructor : None , get_param : 0 as * mut sys :: godot_method_bind , set_param : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SliderJointMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SliderJoint\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_param = (gd_api . godot_method_bind_get_method) (class_name , "get_param\0" . as_ptr () as * const c_char) ; table . set_param = (gd_api . godot_method_bind_get_method) (class_name , "set_param\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:40:6362
[INFO] [stdout]    |
[INFO] [stdout] 40 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 # [doc = "`core class FuncRef` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_funcref.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nFuncRef inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct FuncRef { this : RawObject < Self > , } impl FuncRef { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = FuncRefMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Calls the referenced function previously set by [method set_function] or [method @GDScript.funcref]."] # [doc = ""] # [inline] pub fn call_func (& self , varargs : & [Variant]) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . call_func ; let ret = crate :: icalls :: icallvarargs_ (method_bind , self . this . sys () . as_ptr () , varargs) ; ret } } # [doc = "Calls the referenced function previously set by [method set_function] or [method @GDScript.funcref]. Contrarily to [method call_func], this method does not support a variable number of arguments but expects all parameters to be passed via a single [Array]."] # [doc = ""] # [inline] pub fn call_funcv (& self , arg_array : VariantArray) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . call_funcv ; let ret = crate :: icalls :: icallptr_var_arr (method_bind , self . this . sys () . as_ptr () , arg_array) ; Variant :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn function (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . get_function ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns whether the object still exists and has the function assigned."] # [doc = ""] # [inline] pub fn is_valid (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . is_valid ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The name of the referenced function to call on the object, without parentheses or any parameters."] # [doc = ""] # [inline] pub fn set_function (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . set_function ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "The object containing the referenced function. This object must be of a type actually inheriting from [Object], not a built-in type such as [int], [Vector2] or [Dictionary]."] # [doc = ""] # [inline] pub fn set_instance (& self , instance : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . set_instance ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , instance . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for FuncRef { } unsafe impl GodotObject for FuncRef { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "FuncRef" } } impl std :: ops :: Deref for FuncRef { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for FuncRef { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for FuncRef { } unsafe impl SubClass < crate :: generated :: object :: Object > for FuncRef { } impl Instanciable for FuncRef { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { FuncRef :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct FuncRefMethodTable { pub class_constructor : sys :: godot_class_constructor , pub call_func : * mut sys :: godot_method_bind , pub call_funcv : * mut sys :: godot_method_bind , pub get_function : * mut sys :: godot_method_bind , pub is_valid : * mut sys :: godot_method_bind , pub set_function : * mut sys :: godot_method_bind , pub set_instance : * mut sys :: godot_method_bind } impl FuncRefMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : FuncRefMethodTable = FuncRefMethodTable { class_constructor : None , call_func : 0 as * mut sys :: godot_method_bind , call_funcv : 0 as * mut sys :: godot_method_bind , get_function : 0 as * mut sys :: godot_method_bind , is_valid : 0 as * mut sys :: godot_method_bind , set_function : 0 as * mut sys :: godot_method_bind , set_instance : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { FuncRefMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "FuncRef\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . call_func = (gd_api . godot_method_bind_get_method) (class_name , "call_func\0" . as_ptr () as * const c_char) ; table . call_funcv = (gd_api . godot_method_bind_get_method) (class_name , "call_funcv\0" . as_ptr () as * const c_char) ; table . get_function = (gd_api . godot_method_bind_get_method) (class_name , "get_function\0" . as_ptr () as * const c_char) ; table . is_valid = (gd_api . godot_method_bind_get_method) (class_name , "is_valid\0" . as_ptr () as * const c_char) ; table . set_function = (gd_api . godot_method_bind_get_method) (class_name , "set_function\0" . as_ptr () as * const c_char) ; table . set_instance = (gd_api . godot_method_bind_get_method) (class_name , "set_instance\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:46:4537
[INFO] [stdout]    |
[INFO] [stdout] 46 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 # [doc = "`core class WebSocketMultiplayerPeer` inherits `NetworkedMultiplayerPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_websocketmultiplayerpeer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebSocketMultiplayerPeer inherits methods from:\n - [NetworkedMultiplayerPeer](struct.NetworkedMultiplayerPeer.html)\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebSocketMultiplayerPeer { this : RawObject < Self > , } impl WebSocketMultiplayerPeer { # [doc = ""] # [doc = ""] # [inline] pub fn get_peer (& self , peer_id : i64) -> Option < Ref < crate :: generated :: web_socket_peer :: WebSocketPeer , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketMultiplayerPeerMethodTable :: get (get_api ()) . get_peer ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , peer_id) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: web_socket_peer :: WebSocketPeer , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_buffers (& self , input_buffer_size_kb : i64 , input_max_packets : i64 , output_buffer_size_kb : i64 , output_max_packets : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketMultiplayerPeerMethodTable :: get (get_api ()) . set_buffers ; let ret = crate :: icalls :: icallptr_i64_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , input_buffer_size_kb , input_max_packets , output_buffer_size_kb , output_max_packets) ; GodotError :: result_from_sys (ret as _) } } } impl gdnative_core :: private :: godot_object :: Sealed for WebSocketMultiplayerPeer { } unsafe impl GodotObject for WebSocketMultiplayerPeer { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebSocketMultiplayerPeer" } } impl std :: ops :: Deref for WebSocketMultiplayerPeer { type Target = crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer ; # [inline] fn deref (& self) -> & crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebSocketMultiplayerPeer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer > for WebSocketMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for WebSocketMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebSocketMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebSocketMultiplayerPeer { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebSocketMultiplayerPeerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_peer : * mut sys :: godot_method_bind , pub set_buffers : * mut sys :: godot_method_bind } impl WebSocketMultiplayerPeerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebSocketMultiplayerPeerMethodTable = WebSocketMultiplayerPeerMethodTable { class_constructor : None , get_peer : 0 as * mut sys :: godot_method_bind , set_buffers : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebSocketMultiplayerPeerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebSocketMultiplayerPeer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_peer = (gd_api . godot_method_bind_get_method) (class_name , "get_peer\0" . as_ptr () as * const c_char) ; table . set_buffers = (gd_api . godot_method_bind_get_method) (class_name , "set_buffers\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:52:23650
[INFO] [stdout]    |
[INFO] [stdout] 52 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 # [doc = "`core class Particles2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_particles2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Particles2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Particles2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nParticles2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Particles2D { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct DrawOrder (pub i64) ; impl DrawOrder { pub const INDEX : DrawOrder = DrawOrder (0i64) ; pub const LIFETIME : DrawOrder = DrawOrder (1i64) ; } impl From < i64 > for DrawOrder { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < DrawOrder > for i64 { # [inline] fn from (v : DrawOrder) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Particles2D { pub const DRAW_ORDER_INDEX : i64 = 0i64 ; pub const DRAW_ORDER_LIFETIME : i64 = 1i64 ; } impl Particles2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Particles2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns a rectangle containing the positions of all existing particles."] # [doc = ""] # [inline] pub fn capture_rect (& self) -> Rect2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . capture_rect ; let ret = crate :: icalls :: icallptr_rect2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Number of particles emitted in one emission cycle."] # [doc = ""] # [inline] pub fn amount (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_amount ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle draw order. Uses [enum DrawOrder] values."] # [doc = ""] # [inline] pub fn draw_order (& self) -> crate :: generated :: particles_2d :: DrawOrder { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_draw_order ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: particles_2d :: DrawOrder (ret) } } # [doc = "How rapidly particles in an emission cycle are emitted. If greater than `0`, there will be a gap in emissions before the next cycle begins."] # [doc = ""] # [inline] pub fn explosiveness_ratio (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_explosiveness_ratio ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself."] # [doc = ""] # [inline] pub fn fixed_fps (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_fixed_fps ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, results in fractional delta calculation which has a smoother particles display effect."] # [doc = ""] # [inline] pub fn fractional_delta (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_fractional_delta ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Amount of time each particle will exist."] # [doc = ""] # [inline] pub fn lifetime (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_lifetime ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Normal map to be used for the [member texture] property.\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn normal_map (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_normal_map ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "If `true`, only one emission cycle occurs. If set `true` during a cycle, emission will stop at the cycle's end."] # [doc = ""] # [inline] pub fn one_shot (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_one_shot ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle system starts as if it had already run for this many seconds."] # [doc = ""] # [inline] pub fn pre_process_time (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_pre_process_time ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial]."] # [doc = ""] # [inline] pub fn process_material (& self) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_process_material ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Emission lifetime randomness ratio."] # [doc = ""] # [inline] pub fn randomness_ratio (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_randomness_ratio ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle system's running speed scaling ratio. A value of `0` can be used to pause the particles."] # [doc = ""] # [inline] pub fn speed_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_speed_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle texture. If `null`, particles will be squares."] # [doc = ""] # [inline] pub fn texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "If `true`, particles use the parent node's coordinate space. If `false`, they use global coordinates."] # [doc = ""] # [inline] pub fn use_local_coordinates (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_use_local_coordinates ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Editor visibility helper."] # [doc = ""] # [inline] pub fn visibility_rect (& self) -> Rect2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_visibility_rect ; let ret = crate :: icalls :: icallptr_rect2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If `true`, particles are being emitted."] # [doc = ""] # [inline] pub fn is_emitting (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . is_emitting ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Restarts all the existing particles."] # [doc = ""] # [inline] pub fn restart (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . restart ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Number of particles emitted in one emission cycle."] # [doc = ""] # [inline] pub fn set_amount (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_amount ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "Particle draw order. Uses [enum DrawOrder] values."] # [doc = ""] # [inline] pub fn set_draw_order (& self , order : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_draw_order ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , order) ; } } # [doc = "If `true`, particles are being emitted."] # [doc = ""] # [inline] pub fn set_emitting (& self , emitting : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_emitting ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , emitting) ; } } # [doc = "How rapidly particles in an emission cycle are emitted. If greater than `0`, there will be a gap in emissions before the next cycle begins."] # [doc = ""] # [inline] pub fn set_explosiveness_ratio (& self , ratio : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_explosiveness_ratio ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , ratio) ; } } # [doc = "The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself."] # [doc = ""] # [inline] pub fn set_fixed_fps (& self , fps : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_fixed_fps ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , fps) ; } } # [doc = "If `true`, results in fractional delta calculation which has a smoother particles display effect."] # [doc = ""] # [inline] pub fn set_fractional_delta (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_fractional_delta ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Amount of time each particle will exist."] # [doc = ""] # [inline] pub fn set_lifetime (& self , secs : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_lifetime ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , secs) ; } } # [doc = "Normal map to be used for the [member texture] property.\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn set_normal_map (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_normal_map ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "If `true`, only one emission cycle occurs. If set `true` during a cycle, emission will stop at the cycle's end."] # [doc = ""] # [inline] pub fn set_one_shot (& self , secs : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_one_shot ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , secs) ; } } # [doc = "Particle system starts as if it had already run for this many seconds."] # [doc = ""] # [inline] pub fn set_pre_process_time (& self , secs : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_pre_process_time ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , secs) ; } } # [doc = "[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial]."] # [doc = ""] # [inline] pub fn set_process_material (& self , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_process_material ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , material . as_arg_ptr ()) ; } } # [doc = "Emission lifetime randomness ratio."] # [doc = ""] # [inline] pub fn set_randomness_ratio (& self , ratio : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_randomness_ratio ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , ratio) ; } } # [doc = "Particle system's running speed scaling ratio. A value of `0` can be used to pause the particles."] # [doc = ""] # [inline] pub fn set_speed_scale (& self , scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_speed_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , scale) ; } } # [doc = "Particle texture. If `null`, particles will be squares."] # [doc = ""] # [inline] pub fn set_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "If `true`, particles use the parent node's coordinate space. If `false`, they use global coordinates."] # [doc = ""] # [inline] pub fn set_use_local_coordinates (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_use_local_coordinates ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Editor visibility helper."] # [doc = ""] # [inline] pub fn set_visibility_rect (& self , visibility_rect : Rect2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_visibility_rect ; let ret = crate :: icalls :: icallptr_void_rect2 (method_bind , self . this . sys () . as_ptr () , visibility_rect) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Particles2D { } unsafe impl GodotObject for Particles2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Particles2D" } } impl QueueFree for Particles2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Particles2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Particles2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for Particles2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Particles2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for Particles2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for Particles2D { } impl Instanciable for Particles2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Particles2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Particles2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub capture_rect : * mut sys :: godot_method_bind , pub get_amount : * mut sys :: godot_method_bind , pub get_draw_order : * mut sys :: godot_method_bind , pub get_explosiveness_ratio : * mut sys :: godot_method_bind , pub get_fixed_fps : * mut sys :: godot_method_bind , pub get_fractional_delta : * mut sys :: godot_method_bind , pub get_lifetime : * mut sys :: godot_method_bind , pub get_normal_map : * mut sys :: godot_method_bind , pub get_one_shot : * mut sys :: godot_method_bind , pub get_pre_process_time : * mut sys :: godot_method_bind , pub get_process_material : * mut sys :: godot_method_bind , pub get_randomness_ratio : * mut sys :: godot_method_bind , pub get_speed_scale : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub get_use_local_coordinates : * mut sys :: godot_method_bind , pub get_visibility_rect : * mut sys :: godot_method_bind , pub is_emitting : * mut sys :: godot_method_bind , pub restart : * mut sys :: godot_method_bind , pub set_amount : * mut sys :: godot_method_bind , pub set_draw_order : * mut sys :: godot_method_bind , pub set_emitting : * mut sys :: godot_method_bind , pub set_explosiveness_ratio : * mut sys :: godot_method_bind , pub set_fixed_fps : * mut sys :: godot_method_bind , pub set_fractional_delta : * mut sys :: godot_method_bind , pub set_lifetime : * mut sys :: godot_method_bind , pub set_normal_map : * mut sys :: godot_method_bind , pub set_one_shot : * mut sys :: godot_method_bind , pub set_pre_process_time : * mut sys :: godot_method_bind , pub set_process_material : * mut sys :: godot_method_bind , pub set_randomness_ratio : * mut sys :: godot_method_bind , pub set_speed_scale : * mut sys :: godot_method_bind , pub set_texture : * mut sys :: godot_method_bind , pub set_use_local_coordinates : * mut sys :: godot_method_bind , pub set_visibility_rect : * mut sys :: godot_method_bind } impl Particles2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Particles2DMethodTable = Particles2DMethodTable { class_constructor : None , capture_rect : 0 as * mut sys :: godot_method_bind , get_amount : 0 as * mut sys :: godot_method_bind , get_draw_order : 0 as * mut sys :: godot_method_bind , get_explosiveness_ratio : 0 as * mut sys :: godot_method_bind , get_fixed_fps : 0 as * mut sys :: godot_method_bind , get_fractional_delta : 0 as * mut sys :: godot_method_bind , get_lifetime : 0 as * mut sys :: godot_method_bind , get_normal_map : 0 as * mut sys :: godot_method_bind , get_one_shot : 0 as * mut sys :: godot_method_bind , get_pre_process_time : 0 as * mut sys :: godot_method_bind , get_process_material : 0 as * mut sys :: godot_method_bind , get_randomness_ratio : 0 as * mut sys :: godot_method_bind , get_speed_scale : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , get_use_local_coordinates : 0 as * mut sys :: godot_method_bind , get_visibility_rect : 0 as * mut sys :: godot_method_bind , is_emitting : 0 as * mut sys :: godot_method_bind , restart : 0 as * mut sys :: godot_method_bind , set_amount : 0 as * mut sys :: godot_method_bind , set_draw_order : 0 as * mut sys :: godot_method_bind , set_emitting : 0 as * mut sys :: godot_method_bind , set_explosiveness_ratio : 0 as * mut sys :: godot_method_bind , set_fixed_fps : 0 as * mut sys :: godot_method_bind , set_fractional_delta : 0 as * mut sys :: godot_method_bind , set_lifetime : 0 as * mut sys :: godot_method_bind , set_normal_map : 0 as * mut sys :: godot_method_bind , set_one_shot : 0 as * mut sys :: godot_method_bind , set_pre_process_time : 0 as * mut sys :: godot_method_bind , set_process_material : 0 as * mut sys :: godot_method_bind , set_randomness_ratio : 0 as * mut sys :: godot_method_bind , set_speed_scale : 0 as * mut sys :: godot_method_bind , set_texture : 0 as * mut sys :: godot_method_bind , set_use_local_coordinates : 0 as * mut sys :: godot_method_bind , set_visibility_rect : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Particles2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Particles2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . capture_rect = (gd_api . godot_method_bind_get_method) (class_name , "capture_rect\0" . as_ptr () as * const c_char) ; table . get_amount = (gd_api . godot_method_bind_get_method) (class_name , "get_amount\0" . as_ptr () as * const c_char) ; table . get_draw_order = (gd_api . godot_method_bind_get_method) (class_name , "get_draw_order\0" . as_ptr () as * const c_char) ; table . get_explosiveness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "get_explosiveness_ratio\0" . as_ptr () as * const c_char) ; table . get_fixed_fps = (gd_api . godot_method_bind_get_method) (class_name , "get_fixed_fps\0" . as_ptr () as * const c_char) ; table . get_fractional_delta = (gd_api . godot_method_bind_get_method) (class_name , "get_fractional_delta\0" . as_ptr () as * const c_char) ; table . get_lifetime = (gd_api . godot_method_bind_get_method) (class_name , "get_lifetime\0" . as_ptr () as * const c_char) ; table . get_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "get_normal_map\0" . as_ptr () as * const c_char) ; table . get_one_shot = (gd_api . godot_method_bind_get_method) (class_name , "get_one_shot\0" . as_ptr () as * const c_char) ; table . get_pre_process_time = (gd_api . godot_method_bind_get_method) (class_name , "get_pre_process_time\0" . as_ptr () as * const c_char) ; table . get_process_material = (gd_api . godot_method_bind_get_method) (class_name , "get_process_material\0" . as_ptr () as * const c_char) ; table . get_randomness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "get_randomness_ratio\0" . as_ptr () as * const c_char) ; table . get_speed_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_speed_scale\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . get_use_local_coordinates = (gd_api . godot_method_bind_get_method) (class_name , "get_use_local_coordinates\0" . as_ptr () as * const c_char) ; table . get_visibility_rect = (gd_api . godot_method_bind_get_method) (class_name , "get_visibility_rect\0" . as_ptr () as * const c_char) ; table . is_emitting = (gd_api . godot_method_bind_get_method) (class_name , "is_emitting\0" . as_ptr () as * const c_char) ; table . restart = (gd_api . godot_method_bind_get_method) (class_name , "restart\0" . as_ptr () as * const c_char) ; table . set_amount = (gd_api . godot_method_bind_get_method) (class_name , "set_amount\0" . as_ptr () as * const c_char) ; table . set_draw_order = (gd_api . godot_method_bind_get_method) (class_name , "set_draw_order\0" . as_ptr () as * const c_char) ; table . set_emitting = (gd_api . godot_method_bind_get_method) (class_name , "set_emitting\0" . as_ptr () as * const c_char) ; table . set_explosiveness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "set_explosiveness_ratio\0" . as_ptr () as * const c_char) ; table . set_fixed_fps = (gd_api . godot_method_bind_get_method) (class_name , "set_fixed_fps\0" . as_ptr () as * const c_char) ; table . set_fractional_delta = (gd_api . godot_method_bind_get_method) (class_name , "set_fractional_delta\0" . as_ptr () as * const c_char) ; table . set_lifetime = (gd_api . godot_method_bind_get_method) (class_name , "set_lifetime\0" . as_ptr () as * const c_char) ; table . set_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "set_normal_map\0" . as_ptr () as * const c_char) ; table . set_one_shot = (gd_api . godot_method_bind_get_method) (class_name , "set_one_shot\0" . as_ptr () as * const c_char) ; table . set_pre_process_time = (gd_api . godot_method_bind_get_method) (class_name , "set_pre_process_time\0" . as_ptr () as * const c_char) ; table . set_process_material = (gd_api . godot_method_bind_get_method) (class_name , "set_process_material\0" . as_ptr () as * const c_char) ; table . set_randomness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "set_randomness_ratio\0" . as_ptr () as * const c_char) ; table . set_speed_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_speed_scale\0" . as_ptr () as * const c_char) ; table . set_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_texture\0" . as_ptr () as * const c_char) ; table . set_use_local_coordinates = (gd_api . godot_method_bind_get_method) (class_name , "set_use_local_coordinates\0" . as_ptr () as * const c_char) ; table . set_visibility_rect = (gd_api . godot_method_bind_get_method) (class_name , "set_visibility_rect\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:58:3927
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...odTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 # [doc = "`core class AudioEffectBandLimitFilter` inherits `AudioEffectFilter` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectbandlimitfilter.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectBandLimitFilter inherits methods from:\n - [AudioEffectFilter](struct.AudioEffectFilter.html)\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectBandLimitFilter { this : RawObject < Self > , } impl AudioEffectBandLimitFilter { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectBandLimitFilterMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectBandLimitFilter { } unsafe impl GodotObject for AudioEffectBandLimitFilter { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectBandLimitFilter" } } impl std :: ops :: Deref for AudioEffectBandLimitFilter { type Target = crate :: generated :: audio_effect_filter :: AudioEffectFilter ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect_filter :: AudioEffectFilter { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectBandLimitFilter { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect_filter :: AudioEffectFilter { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect_filter :: AudioEffectFilter > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectBandLimitFilter { } impl Instanciable for AudioEffectBandLimitFilter { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectBandLimitFilter :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectBandLimitFilterMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AudioEffectBandLimitFilterMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectBandLimitFilterMethodTable = AudioEffectBandLimitFilterMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectBandLimitFilterMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectBandLimitFilter\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:64:5525
[INFO] [stdout]    |
[INFO] [stdout] 64 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 # [doc = "`core class WorldEnvironment` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_worldenvironment.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`WorldEnvironment` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<WorldEnvironment>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nWorldEnvironment inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WorldEnvironment { this : RawObject < Self > , } impl WorldEnvironment { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WorldEnvironmentMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [Environment] resource used by this [WorldEnvironment], defining the default properties."] # [doc = ""] # [inline] pub fn environment (& self) -> Option < Ref < crate :: generated :: environment :: Environment , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WorldEnvironmentMethodTable :: get (get_api ()) . get_environment ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: environment :: Environment , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Environment] resource used by this [WorldEnvironment], defining the default properties."] # [doc = ""] # [inline] pub fn set_environment (& self , env : impl AsArg < crate :: generated :: environment :: Environment >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WorldEnvironmentMethodTable :: get (get_api ()) . set_environment ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , env . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for WorldEnvironment { } unsafe impl GodotObject for WorldEnvironment { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "WorldEnvironment" } } impl QueueFree for WorldEnvironment { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for WorldEnvironment { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WorldEnvironment { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for WorldEnvironment { } unsafe impl SubClass < crate :: generated :: object :: Object > for WorldEnvironment { } impl Instanciable for WorldEnvironment { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WorldEnvironment :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WorldEnvironmentMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_environment : * mut sys :: godot_method_bind , pub set_environment : * mut sys :: godot_method_bind } impl WorldEnvironmentMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WorldEnvironmentMethodTable = WorldEnvironmentMethodTable { class_constructor : None , get_environment : 0 as * mut sys :: godot_method_bind , set_environment : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WorldEnvironmentMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WorldEnvironment\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_environment = (gd_api . godot_method_bind_get_method) (class_name , "get_environment\0" . as_ptr () as * const c_char) ; table . set_environment = (gd_api . godot_method_bind_get_method) (class_name , "set_environment\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:70:46948
[INFO] [stdout]    |
[INFO] [stdout] 70 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 # [doc = "`core class AnimationTreePlayer` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationtreeplayer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`AnimationTreePlayer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<AnimationTreePlayer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nAnimationTreePlayer inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationTreePlayer { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct AnimationProcessMode (pub i64) ; impl AnimationProcessMode { pub const PHYSICS : AnimationProcessMode = AnimationProcessMode (0i64) ; pub const IDLE : AnimationProcessMode = AnimationProcessMode (1i64) ; } impl From < i64 > for AnimationProcessMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < AnimationProcessMode > for i64 { # [inline] fn from (v : AnimationProcessMode) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct NodeType (pub i64) ; impl NodeType { pub const OUTPUT : NodeType = NodeType (0i64) ; pub const ANIMATION : NodeType = NodeType (1i64) ; pub const ONESHOT : NodeType = NodeType (2i64) ; pub const MIX : NodeType = NodeType (3i64) ; pub const BLEND2 : NodeType = NodeType (4i64) ; pub const BLEND3 : NodeType = NodeType (5i64) ; pub const BLEND4 : NodeType = NodeType (6i64) ; pub const TIMESCALE : NodeType = NodeType (7i64) ; pub const TIMESEEK : NodeType = NodeType (8i64) ; pub const TRANSITION : NodeType = NodeType (9i64) ; } impl From < i64 > for NodeType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < NodeType > for i64 { # [inline] fn from (v : NodeType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AnimationTreePlayer { pub const ANIMATION_PROCESS_IDLE : i64 = 1i64 ; pub const ANIMATION_PROCESS_PHYSICS : i64 = 0i64 ; pub const NODE_ANIMATION : i64 = 1i64 ; pub const NODE_BLEND2 : i64 = 4i64 ; pub const NODE_BLEND3 : i64 = 5i64 ; pub const NODE_BLEND4 : i64 = 6i64 ; pub const NODE_MIX : i64 = 3i64 ; pub const NODE_ONESHOT : i64 = 2i64 ; pub const NODE_OUTPUT : i64 = 0i64 ; pub const NODE_TIMESCALE : i64 = 7i64 ; pub const NODE_TIMESEEK : i64 = 8i64 ; pub const NODE_TRANSITION : i64 = 9i64 ; } impl AnimationTreePlayer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationTreePlayerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a `type` node to the graph with name `id`."] # [doc = ""] # [inline] pub fn add_node (& self , _type : i64 , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . add_node ; let ret = crate :: icalls :: icallptr_void_i64_str (method_bind , self . this . sys () . as_ptr () , _type , id . into ()) ; } } # [doc = "Shifts position in the animation timeline. `delta` is the time in seconds to shift. Events between the current frame and `delta` are handled."] # [doc = ""] # [inline] pub fn advance (& self , delta : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . advance ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , delta) ; } } # [doc = "Returns the [AnimationPlayer]'s [Animation] bound to the [AnimationTreePlayer]'s animation node with name `id`."] # [doc = ""] # [inline] pub fn animation_node_get_animation (& self , id : impl Into < GodotString >) -> Option < Ref < crate :: generated :: animation :: Animation , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_get_animation ; let ret = crate :: icalls :: icallptr_obj_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: animation :: Animation , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the name of the [member master_player]'s [Animation] bound to this animation node."] # [doc = ""] # [inline] pub fn animation_node_get_master_animation (& self , id : impl Into < GodotString >) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_get_master_animation ; let ret = crate :: icalls :: icallptr_str_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the absolute playback timestamp of the animation node with name `id`."] # [doc = ""] # [inline] pub fn animation_node_get_position (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_get_position ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Binds a new [Animation] from the [member master_player] to the [AnimationTreePlayer]'s animation node with name `id`."] # [doc = ""] # [inline] pub fn animation_node_set_animation (& self , id : impl Into < GodotString > , animation : impl AsArg < crate :: generated :: animation :: Animation >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_set_animation ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , id . into () , animation . as_arg_ptr ()) ; } } # [doc = "If `enable` is `true`, the animation node with ID `id` turns off the track modifying the property at `path`. The modified node's children continue to animate."] # [doc = ""] # [inline] pub fn animation_node_set_filter_path (& self , id : impl Into < GodotString > , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_set_filter_path ; let ret = crate :: icalls :: icallptr_void_str_nodepath_bool (method_bind , self . this . sys () . as_ptr () , id . into () , path . into () , enable) ; } } # [doc = "Binds the [Animation] named `source` from [member master_player] to the animation node `id`. Recalculates caches."] # [doc = ""] # [inline] pub fn animation_node_set_master_animation (& self , id : impl Into < GodotString > , source : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_set_master_animation ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , id . into () , source . into ()) ; } } # [doc = "Returns whether node `id` and `dst_id` are connected at the specified slot."] # [doc = ""] # [inline] pub fn are_nodes_connected (& self , id : impl Into < GodotString > , dst_id : impl Into < GodotString > , dst_input_idx : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . are_nodes_connected ; let ret = crate :: icalls :: icallptr_bool_str_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , dst_id . into () , dst_input_idx) ; ret as _ } } # [doc = "Returns the blend amount of a Blend2 node given its name."] # [doc = ""] # [inline] pub fn blend2_node_get_amount (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend2_node_get_amount ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the blend amount of a Blend2 node given its name and value.\nA Blend2 node blends two animations (A and B) with the amount between 0 and 1.\nAt 0, output is input A. Towards 1, the influence of A gets lessened, the influence of B gets raised. At 1, output is input B."] # [doc = ""] # [inline] pub fn blend2_node_set_amount (& self , id : impl Into < GodotString > , blend : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend2_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , blend) ; } } # [doc = "If `enable` is `true`, the Blend2 node with name `id` turns off the track modifying the property at `path`. The modified node's children continue to animate."] # [doc = ""] # [inline] pub fn blend2_node_set_filter_path (& self , id : impl Into < GodotString > , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend2_node_set_filter_path ; let ret = crate :: icalls :: icallptr_void_str_nodepath_bool (method_bind , self . this . sys () . as_ptr () , id . into () , path . into () , enable) ; } } # [doc = "Returns the blend amount of a Blend3 node given its name."] # [doc = ""] # [inline] pub fn blend3_node_get_amount (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend3_node_get_amount ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the blend amount of a Blend3 node given its name and value.\nA Blend3 Node blends three animations (A, B-, B+) with the amount between -1 and 1.\nAt -1, output is input B-. From -1 to 0, the influence of B- gets lessened, the influence of A gets raised and the influence of B+ is 0. At 0, output is input A. From 0 to 1, the influence of A gets lessened, the influence of B+ gets raised and the influence of B+ is 0. At 1, output is input B+."] # [doc = ""] # [inline] pub fn blend3_node_set_amount (& self , id : impl Into < GodotString > , blend : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend3_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , blend) ; } } # [doc = "Returns the blend amount of a Blend4 node given its name."] # [doc = ""] # [inline] pub fn blend4_node_get_amount (& self , id : impl Into < GodotString >) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend4_node_get_amount ; let ret = crate :: icalls :: icallptr_vec2_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; mem :: transmute (ret) } } # [doc = "Sets the blend amount of a Blend4 node given its name and value.\nA Blend4 Node blends two pairs of animations.\nThe two pairs are blended like Blend2 and then added together."] # [doc = ""] # [inline] pub fn blend4_node_set_amount (& self , id : impl Into < GodotString > , blend : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend4_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_vec2 (method_bind , self . this . sys () . as_ptr () , id . into () , blend) ; } } # [doc = "Connects node `id` to `dst_id` at the specified input slot."] # [doc = ""] # [inline] pub fn connect_nodes (& self , id : impl Into < GodotString > , dst_id : impl Into < GodotString > , dst_input_idx : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . connect_nodes ; let ret = crate :: icalls :: icallptr_i64_str_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , dst_id . into () , dst_input_idx) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Disconnects nodes connected to `id` at the specified input slot."] # [doc = ""] # [inline] pub fn disconnect_nodes (& self , id : impl Into < GodotString > , dst_input_idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . disconnect_nodes ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , dst_input_idx) ; } } # [doc = "The thread in which to update animations."] # [doc = ""] # [inline] pub fn animation_process_mode (& self) -> crate :: generated :: animation_tree_player :: AnimationProcessMode { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_animation_process_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: animation_tree_player :: AnimationProcessMode (ret) } } # [doc = "The node from which to relatively access other nodes.\nIt accesses the bones, so it should point to the same node the [AnimationPlayer] would point its Root Node at."] # [doc = ""] # [inline] pub fn base_path (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_base_path ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes.\nOnce set, [Animation] nodes can be added to the [AnimationTreePlayer]."] # [doc = ""] # [inline] pub fn master_player (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_master_player ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "Returns a [PoolStringArray] containing the name of all nodes."] # [doc = ""] # [inline] pub fn get_node_list (& self) -> StringArray { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_node_list ; let ret = crate :: icalls :: icallptr_strarr (method_bind , self . this . sys () . as_ptr ()) ; StringArray :: from_sys (ret) } } # [doc = "If `true`, the [AnimationTreePlayer] is able to play animations."] # [doc = ""] # [inline] pub fn is_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . is_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the mix amount of a Mix node given its name."] # [doc = ""] # [inline] pub fn mix_node_get_amount (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . mix_node_get_amount ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the mix amount of a Mix node given its name and value.\nA Mix node adds input b to input a by the amount given by ratio."] # [doc = ""] # [inline] pub fn mix_node_set_amount (& self , id : impl Into < GodotString > , ratio : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . mix_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , ratio) ; } } # [doc = "Check if a node exists (by name)."] # [doc = ""] # [inline] pub fn node_exists (& self , node : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_exists ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , node . into ()) ; ret as _ } } # [doc = "Returns the input count for a given node. Different types of nodes have different amount of inputs."] # [doc = ""] # [inline] pub fn node_get_input_count (& self , id : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_input_count ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the input source for a given node input."] # [doc = ""] # [inline] pub fn node_get_input_source (& self , id : impl Into < GodotString > , idx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_input_source ; let ret = crate :: icalls :: icallptr_str_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , idx) ; GodotString :: from_sys (ret) } } # [doc = "Returns position of a node in the graph given its name."] # [doc = ""] # [inline] pub fn node_get_position (& self , id : impl Into < GodotString >) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_position ; let ret = crate :: icalls :: icallptr_vec2_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; mem :: transmute (ret) } } # [doc = "Gets the node type, will return from [enum NodeType] enum."] # [doc = ""] # [inline] pub fn node_get_type (& self , id : impl Into < GodotString >) -> crate :: generated :: animation_tree_player :: NodeType { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_type ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; crate :: generated :: animation_tree_player :: NodeType (ret) } } # [doc = "Renames a node in the graph."] # [doc = ""] # [inline] pub fn node_rename (& self , node : impl Into < GodotString > , new_name : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_rename ; let ret = crate :: icalls :: icallptr_i64_str_str (method_bind , self . this . sys () . as_ptr () , node . into () , new_name . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Sets the position of a node in the graph given its name and position."] # [doc = ""] # [inline] pub fn node_set_position (& self , id : impl Into < GodotString > , screen_position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_set_position ; let ret = crate :: icalls :: icallptr_void_str_vec2 (method_bind , self . this . sys () . as_ptr () , id . into () , screen_position) ; } } # [doc = "Returns the autostart delay of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_autorestart_delay (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_autorestart_delay ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the autostart random delay of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_autorestart_random_delay (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_autorestart_random_delay ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the fade in time of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_fadein_time (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_fadein_time ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the fade out time of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_fadeout_time (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_fadeout_time ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns whether a OneShot node will auto restart given its name."] # [doc = ""] # [inline] pub fn oneshot_node_has_autorestart (& self , id : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_has_autorestart ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns whether a OneShot node is active given its name."] # [doc = ""] # [inline] pub fn oneshot_node_is_active (& self , id : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_is_active ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the autorestart property of a OneShot node given its name and value."] # [doc = ""] # [inline] pub fn oneshot_node_set_autorestart (& self , id : impl Into < GodotString > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_autorestart ; let ret = crate :: icalls :: icallptr_void_str_bool (method_bind , self . this . sys () . as_ptr () , id . into () , enable) ; } } # [doc = "Sets the autorestart delay of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_autorestart_delay (& self , id : impl Into < GodotString > , delay_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_autorestart_delay ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , delay_sec) ; } } # [doc = "Sets the autorestart random delay of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_autorestart_random_delay (& self , id : impl Into < GodotString > , rand_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_autorestart_random_delay ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , rand_sec) ; } } # [doc = "Sets the fade in time of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_fadein_time (& self , id : impl Into < GodotString > , time_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_fadein_time ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , time_sec) ; } } # [doc = "Sets the fade out time of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_fadeout_time (& self , id : impl Into < GodotString > , time_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_fadeout_time ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , time_sec) ; } } # [doc = "If `enable` is `true`, the OneShot node with ID `id` turns off the track modifying the property at `path`. The modified node's children continue to animate."] # [doc = ""] # [inline] pub fn oneshot_node_set_filter_path (& self , id : impl Into < GodotString > , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_filter_path ; let ret = crate :: icalls :: icallptr_void_str_nodepath_bool (method_bind , self . this . sys () . as_ptr () , id . into () , path . into () , enable) ; } } # [doc = "Starts a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_start (& self , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_start ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; } } # [doc = "Stops the OneShot node with name `id`."] # [doc = ""] # [inline] pub fn oneshot_node_stop (& self , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_stop ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; } } # [doc = "Manually recalculates the cache of track information generated from animation nodes. Needed when external sources modify the animation nodes' state."] # [doc = ""] # [inline] pub fn recompute_caches (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . recompute_caches ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Removes the animation node with name `id`."] # [doc = ""] # [inline] pub fn remove_node (& self , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . remove_node ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; } } # [doc = "Resets this [AnimationTreePlayer]."] # [doc = ""] # [inline] pub fn reset (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . reset ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, the [AnimationTreePlayer] is able to play animations."] # [doc = ""] # [inline] pub fn set_active (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_active ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The thread in which to update animations."] # [doc = ""] # [inline] pub fn set_animation_process_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_animation_process_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The node from which to relatively access other nodes.\nIt accesses the bones, so it should point to the same node the [AnimationPlayer] would point its Root Node at."] # [doc = ""] # [inline] pub fn set_base_path (& self , path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_base_path ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , path . into ()) ; } } # [doc = "The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes.\nOnce set, [Animation] nodes can be added to the [AnimationTreePlayer]."] # [doc = ""] # [inline] pub fn set_master_player (& self , nodepath : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_master_player ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , nodepath . into ()) ; } } # [doc = "Returns the time scale value of the TimeScale node with name `id`."] # [doc = ""] # [inline] pub fn timescale_node_get_scale (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . timescale_node_get_scale ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the time scale of the TimeScale node with name `id` to `scale`.\nThe TimeScale node is used to speed [Animation]s up if the scale is above 1 or slow them down if it is below 1.\nIf applied after a blend or mix, affects all input animations to that blend or mix."] # [doc = ""] # [inline] pub fn timescale_node_set_scale (& self , id : impl Into < GodotString > , scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . timescale_node_set_scale ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , scale) ; } } # [doc = "Sets the time seek value of the TimeSeek node with name `id` to `seconds`.\nThis functions as a seek in the [Animation] or the blend or mix of [Animation]s input in it."] # [doc = ""] # [inline] pub fn timeseek_node_seek (& self , id : impl Into < GodotString > , seconds : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . timeseek_node_seek ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , seconds) ; } } # [doc = "Deletes the input at `input_idx` for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_delete_input (& self , id : impl Into < GodotString > , input_idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_delete_input ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx) ; } } # [doc = "Returns the index of the currently evaluated input for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_get_current (& self , id : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_get_current ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the number of inputs for the transition node with name `id`. You can add inputs by right-clicking on the transition node."] # [doc = ""] # [inline] pub fn transition_node_get_input_count (& self , id : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_get_input_count ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the cross fade time for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_get_xfade_time (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_get_xfade_time ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns `true` if the input at `input_idx` on the transition node with name `id` is set to automatically advance to the next input upon completion."] # [doc = ""] # [inline] pub fn transition_node_has_input_auto_advance (& self , id : impl Into < GodotString > , input_idx : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_has_input_auto_advance ; let ret = crate :: icalls :: icallptr_bool_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx) ; ret as _ } } # [doc = "The transition node with name `id` sets its current input at `input_idx`."] # [doc = ""] # [inline] pub fn transition_node_set_current (& self , id : impl Into < GodotString > , input_idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_current ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx) ; } } # [doc = "The transition node with name `id` advances to its next input automatically when the input at `input_idx` completes."] # [doc = ""] # [inline] pub fn transition_node_set_input_auto_advance (& self , id : impl Into < GodotString > , input_idx : i64 , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_input_auto_advance ; let ret = crate :: icalls :: icallptr_void_str_i64_bool (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx , enable) ; } } # [doc = "Resizes the number of inputs available for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_set_input_count (& self , id : impl Into < GodotString > , count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_input_count ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , count) ; } } # [doc = "The transition node with name `id` sets its cross fade time to `time_sec`."] # [doc = ""] # [inline] pub fn transition_node_set_xfade_time (& self , id : impl Into < GodotString > , time_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_xfade_time ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , time_sec) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationTreePlayer { } unsafe impl GodotObject for AnimationTreePlayer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "AnimationTreePlayer" } } impl QueueFree for AnimationTreePlayer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for AnimationTreePlayer { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationTreePlayer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for AnimationTreePlayer { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationTreePlayer { } impl Instanciable for AnimationTreePlayer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationTreePlayer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationTreePlayerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_node : * mut sys :: godot_method_bind , pub advance : * mut sys :: godot_method_bind , pub animation_node_get_animation : * mut sys :: godot_method_bind , pub animation_node_get_master_animation : * mut sys :: godot_method_bind , pub animation_node_get_position : * mut sys :: godot_method_bind , pub animation_node_set_animation : * mut sys :: godot_method_bind , pub animation_node_set_filter_path : * mut sys :: godot_method_bind , pub animation_node_set_master_animation : * mut sys :: godot_method_bind , pub are_nodes_connected : * mut sys :: godot_method_bind , pub blend2_node_get_amount : * mut sys :: godot_method_bind , pub blend2_node_set_amount : * mut sys :: godot_method_bind , pub blend2_node_set_filter_path : * mut sys :: godot_method_bind , pub blend3_node_get_amount : * mut sys :: godot_method_bind , pub blend3_node_set_amount : * mut sys :: godot_method_bind , pub blend4_node_get_amount : * mut sys :: godot_method_bind , pub blend4_node_set_amount : * mut sys :: godot_method_bind , pub connect_nodes : * mut sys :: godot_method_bind , pub disconnect_nodes : * mut sys :: godot_method_bind , pub get_animation_process_mode : * mut sys :: godot_method_bind , pub get_base_path : * mut sys :: godot_method_bind , pub get_master_player : * mut sys :: godot_method_bind , pub get_node_list : * mut sys :: godot_method_bind , pub is_active : * mut sys :: godot_method_bind , pub mix_node_get_amount : * mut sys :: godot_method_bind , pub mix_node_set_amount : * mut sys :: godot_method_bind , pub node_exists : * mut sys :: godot_method_bind , pub node_get_input_count : * mut sys :: godot_method_bind , pub node_get_input_source : * mut sys :: godot_method_bind , pub node_get_position : * mut sys :: godot_method_bind , pub node_get_type : * mut sys :: godot_method_bind , pub node_rename : * mut sys :: godot_method_bind , pub node_set_position : * mut sys :: godot_method_bind , pub oneshot_node_get_autorestart_delay : * mut sys :: godot_method_bind , pub oneshot_node_get_autorestart_random_delay : * mut sys :: godot_method_bind , pub oneshot_node_get_fadein_time : * mut sys :: godot_method_bind , pub oneshot_node_get_fadeout_time : * mut sys :: godot_method_bind , pub oneshot_node_has_autorestart : * mut sys :: godot_method_bind , pub oneshot_node_is_active : * mut sys :: godot_method_bind , pub oneshot_node_set_autorestart : * mut sys :: godot_method_bind , pub oneshot_node_set_autorestart_delay : * mut sys :: godot_method_bind , pub oneshot_node_set_autorestart_random_delay : * mut sys :: godot_method_bind , pub oneshot_node_set_fadein_time : * mut sys :: godot_method_bind , pub oneshot_node_set_fadeout_time : * mut sys :: godot_method_bind , pub oneshot_node_set_filter_path : * mut sys :: godot_method_bind , pub oneshot_node_start : * mut sys :: godot_method_bind , pub oneshot_node_stop : * mut sys :: godot_method_bind , pub recompute_caches : * mut sys :: godot_method_bind , pub remove_node : * mut sys :: godot_method_bind , pub reset : * mut sys :: godot_method_bind , pub set_active : * mut sys :: godot_method_bind , pub set_animation_process_mode : * mut sys :: godot_method_bind , pub set_base_path : * mut sys :: godot_method_bind , pub set_master_player : * mut sys :: godot_method_bind , pub timescale_node_get_scale : * mut sys :: godot_method_bind , pub timescale_node_set_scale : * mut sys :: godot_method_bind , pub timeseek_node_seek : * mut sys :: godot_method_bind , pub transition_node_delete_input : * mut sys :: godot_method_bind , pub transition_node_get_current : * mut sys :: godot_method_bind , pub transition_node_get_input_count : * mut sys :: godot_method_bind , pub transition_node_get_xfade_time : * mut sys :: godot_method_bind , pub transition_node_has_input_auto_advance : * mut sys :: godot_method_bind , pub transition_node_set_current : * mut sys :: godot_method_bind , pub transition_node_set_input_auto_advance : * mut sys :: godot_method_bind , pub transition_node_set_input_count : * mut sys :: godot_method_bind , pub transition_node_set_xfade_time : * mut sys :: godot_method_bind } impl AnimationTreePlayerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationTreePlayerMethodTable = AnimationTreePlayerMethodTable { class_constructor : None , add_node : 0 as * mut sys :: godot_method_bind , advance : 0 as * mut sys :: godot_method_bind , animation_node_get_animation : 0 as * mut sys :: godot_method_bind , animation_node_get_master_animation : 0 as * mut sys :: godot_method_bind , animation_node_get_position : 0 as * mut sys :: godot_method_bind , animation_node_set_animation : 0 as * mut sys :: godot_method_bind , animation_node_set_filter_path : 0 as * mut sys :: godot_method_bind , animation_node_set_master_animation : 0 as * mut sys :: godot_method_bind , are_nodes_connected : 0 as * mut sys :: godot_method_bind , blend2_node_get_amount : 0 as * mut sys :: godot_method_bind , blend2_node_set_amount : 0 as * mut sys :: godot_method_bind , blend2_node_set_filter_path : 0 as * mut sys :: godot_method_bind , blend3_node_get_amount : 0 as * mut sys :: godot_method_bind , blend3_node_set_amount : 0 as * mut sys :: godot_method_bind , blend4_node_get_amount : 0 as * mut sys :: godot_method_bind , blend4_node_set_amount : 0 as * mut sys :: godot_method_bind , connect_nodes : 0 as * mut sys :: godot_method_bind , disconnect_nodes : 0 as * mut sys :: godot_method_bind , get_animation_process_mode : 0 as * mut sys :: godot_method_bind , get_base_path : 0 as * mut sys :: godot_method_bind , get_master_player : 0 as * mut sys :: godot_method_bind , get_node_list : 0 as * mut sys :: godot_method_bind , is_active : 0 as * mut sys :: godot_method_bind , mix_node_get_amount : 0 as * mut sys :: godot_method_bind , mix_node_set_amount : 0 as * mut sys :: godot_method_bind , node_exists : 0 as * mut sys :: godot_method_bind , node_get_input_count : 0 as * mut sys :: godot_method_bind , node_get_input_source : 0 as * mut sys :: godot_method_bind , node_get_position : 0 as * mut sys :: godot_method_bind , node_get_type : 0 as * mut sys :: godot_method_bind , node_rename : 0 as * mut sys :: godot_method_bind , node_set_position : 0 as * mut sys :: godot_method_bind , oneshot_node_get_autorestart_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_get_autorestart_random_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_get_fadein_time : 0 as * mut sys :: godot_method_bind , oneshot_node_get_fadeout_time : 0 as * mut sys :: godot_method_bind , oneshot_node_has_autorestart : 0 as * mut sys :: godot_method_bind , oneshot_node_is_active : 0 as * mut sys :: godot_method_bind , oneshot_node_set_autorestart : 0 as * mut sys :: godot_method_bind , oneshot_node_set_autorestart_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_set_autorestart_random_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_set_fadein_time : 0 as * mut sys :: godot_method_bind , oneshot_node_set_fadeout_time : 0 as * mut sys :: godot_method_bind , oneshot_node_set_filter_path : 0 as * mut sys :: godot_method_bind , oneshot_node_start : 0 as * mut sys :: godot_method_bind , oneshot_node_stop : 0 as * mut sys :: godot_method_bind , recompute_caches : 0 as * mut sys :: godot_method_bind , remove_node : 0 as * mut sys :: godot_method_bind , reset : 0 as * mut sys :: godot_method_bind , set_active : 0 as * mut sys :: godot_method_bind , set_animation_process_mode : 0 as * mut sys :: godot_method_bind , set_base_path : 0 as * mut sys :: godot_method_bind , set_master_player : 0 as * mut sys :: godot_method_bind , timescale_node_get_scale : 0 as * mut sys :: godot_method_bind , timescale_node_set_scale : 0 as * mut sys :: godot_method_bind , timeseek_node_seek : 0 as * mut sys :: godot_method_bind , transition_node_delete_input : 0 as * mut sys :: godot_method_bind , transition_node_get_current : 0 as * mut sys :: godot_method_bind , transition_node_get_input_count : 0 as * mut sys :: godot_method_bind , transition_node_get_xfade_time : 0 as * mut sys :: godot_method_bind , transition_node_has_input_auto_advance : 0 as * mut sys :: godot_method_bind , transition_node_set_current : 0 as * mut sys :: godot_method_bind , transition_node_set_input_auto_advance : 0 as * mut sys :: godot_method_bind , transition_node_set_input_count : 0 as * mut sys :: godot_method_bind , transition_node_set_xfade_time : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationTreePlayerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationTreePlayer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_node = (gd_api . godot_method_bind_get_method) (class_name , "add_node\0" . as_ptr () as * const c_char) ; table . advance = (gd_api . godot_method_bind_get_method) (class_name , "advance\0" . as_ptr () as * const c_char) ; table . animation_node_get_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_get_animation\0" . as_ptr () as * const c_char) ; table . animation_node_get_master_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_get_master_animation\0" . as_ptr () as * const c_char) ; table . animation_node_get_position = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_get_position\0" . as_ptr () as * const c_char) ; table . animation_node_set_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_set_animation\0" . as_ptr () as * const c_char) ; table . animation_node_set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_set_filter_path\0" . as_ptr () as * const c_char) ; table . animation_node_set_master_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_set_master_animation\0" . as_ptr () as * const c_char) ; table . are_nodes_connected = (gd_api . godot_method_bind_get_method) (class_name , "are_nodes_connected\0" . as_ptr () as * const c_char) ; table . blend2_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend2_node_get_amount\0" . as_ptr () as * const c_char) ; table . blend2_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend2_node_set_amount\0" . as_ptr () as * const c_char) ; table . blend2_node_set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "blend2_node_set_filter_path\0" . as_ptr () as * const c_char) ; table . blend3_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend3_node_get_amount\0" . as_ptr () as * const c_char) ; table . blend3_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend3_node_set_amount\0" . as_ptr () as * const c_char) ; table . blend4_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend4_node_get_amount\0" . as_ptr () as * const c_char) ; table . blend4_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend4_node_set_amount\0" . as_ptr () as * const c_char) ; table . connect_nodes = (gd_api . godot_method_bind_get_method) (class_name , "connect_nodes\0" . as_ptr () as * const c_char) ; table . disconnect_nodes = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_nodes\0" . as_ptr () as * const c_char) ; table . get_animation_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_animation_process_mode\0" . as_ptr () as * const c_char) ; table . get_base_path = (gd_api . godot_method_bind_get_method) (class_name , "get_base_path\0" . as_ptr () as * const c_char) ; table . get_master_player = (gd_api . godot_method_bind_get_method) (class_name , "get_master_player\0" . as_ptr () as * const c_char) ; table . get_node_list = (gd_api . godot_method_bind_get_method) (class_name , "get_node_list\0" . as_ptr () as * const c_char) ; table . is_active = (gd_api . godot_method_bind_get_method) (class_name , "is_active\0" . as_ptr () as * const c_char) ; table . mix_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "mix_node_get_amount\0" . as_ptr () as * const c_char) ; table . mix_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "mix_node_set_amount\0" . as_ptr () as * const c_char) ; table . node_exists = (gd_api . godot_method_bind_get_method) (class_name , "node_exists\0" . as_ptr () as * const c_char) ; table . node_get_input_count = (gd_api . godot_method_bind_get_method) (class_name , "node_get_input_count\0" . as_ptr () as * const c_char) ; table . node_get_input_source = (gd_api . godot_method_bind_get_method) (class_name , "node_get_input_source\0" . as_ptr () as * const c_char) ; table . node_get_position = (gd_api . godot_method_bind_get_method) (class_name , "node_get_position\0" . as_ptr () as * const c_char) ; table . node_get_type = (gd_api . godot_method_bind_get_method) (class_name , "node_get_type\0" . as_ptr () as * const c_char) ; table . node_rename = (gd_api . godot_method_bind_get_method) (class_name , "node_rename\0" . as_ptr () as * const c_char) ; table . node_set_position = (gd_api . godot_method_bind_get_method) (class_name , "node_set_position\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_autorestart_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_autorestart_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_autorestart_random_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_autorestart_random_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_fadein_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_fadein_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_fadeout_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_fadeout_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_has_autorestart = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_has_autorestart\0" . as_ptr () as * const c_char) ; table . oneshot_node_is_active = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_is_active\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_autorestart = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_autorestart\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_autorestart_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_autorestart_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_autorestart_random_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_autorestart_random_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_fadein_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_fadein_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_fadeout_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_fadeout_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_filter_path\0" . as_ptr () as * const c_char) ; table . oneshot_node_start = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_start\0" . as_ptr () as * const c_char) ; table . oneshot_node_stop = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_stop\0" . as_ptr () as * const c_char) ; table . recompute_caches = (gd_api . godot_method_bind_get_method) (class_name , "recompute_caches\0" . as_ptr () as * const c_char) ; table . remove_node = (gd_api . godot_method_bind_get_method) (class_name , "remove_node\0" . as_ptr () as * const c_char) ; table . reset = (gd_api . godot_method_bind_get_method) (class_name , "reset\0" . as_ptr () as * const c_char) ; table . set_active = (gd_api . godot_method_bind_get_method) (class_name , "set_active\0" . as_ptr () as * const c_char) ; table . set_animation_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_animation_process_mode\0" . as_ptr () as * const c_char) ; table . set_base_path = (gd_api . godot_method_bind_get_method) (class_name , "set_base_path\0" . as_ptr () as * const c_char) ; table . set_master_player = (gd_api . godot_method_bind_get_method) (class_name , "set_master_player\0" . as_ptr () as * const c_char) ; table . timescale_node_get_scale = (gd_api . godot_method_bind_get_method) (class_name , "timescale_node_get_scale\0" . as_ptr () as * const c_char) ; table . timescale_node_set_scale = (gd_api . godot_method_bind_get_method) (class_name , "timescale_node_set_scale\0" . as_ptr () as * const c_char) ; table . timeseek_node_seek = (gd_api . godot_method_bind_get_method) (class_name , "timeseek_node_seek\0" . as_ptr () as * const c_char) ; table . transition_node_delete_input = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_delete_input\0" . as_ptr () as * const c_char) ; table . transition_node_get_current = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_get_current\0" . as_ptr () as * const c_char) ; table . transition_node_get_input_count = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_get_input_count\0" . as_ptr () as * const c_char) ; table . transition_node_get_xfade_time = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_get_xfade_time\0" . as_ptr () as * const c_char) ; table . transition_node_has_input_auto_advance = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_has_input_auto_advance\0" . as_ptr () as * const c_char) ; table . transition_node_set_current = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_current\0" . as_ptr () as * const c_char) ; table . transition_node_set_input_auto_advance = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_input_auto_advance\0" . as_ptr () as * const c_char) ; table . transition_node_set_input_count = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_input_count\0" . as_ptr () as * const c_char) ; table . transition_node_set_xfade_time = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_xfade_time\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:82:4604
[INFO] [stdout]    |
[INFO] [stdout] 82 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 # [doc = "`tools class EditorScript` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorscript.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nEditorScript inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorScript { this : RawObject < Self > , } impl EditorScript { # [doc = "Adds `node` as a child of the root node in the editor context.\n**Warning:** The implementation of this method is currently disabled."] # [doc = ""] # [inline] pub fn add_root_node (& self , node : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScriptMethodTable :: get (get_api ()) . add_root_node ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Returns the [EditorInterface] singleton instance."] # [doc = ""] # [inline] pub fn get_editor_interface (& self) -> Option < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScriptMethodTable :: get (get_api ()) . get_editor_interface ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the Editor's currently active scene."] # [doc = ""] # [inline] pub fn get_scene (& self) -> Option < Ref < crate :: generated :: node :: Node , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScriptMethodTable :: get (get_api ()) . get_scene ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: node :: Node , thread_access :: Shared >> :: move_from_sys (sys)) } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorScript { } unsafe impl GodotObject for EditorScript { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "EditorScript" } } impl std :: ops :: Deref for EditorScript { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorScript { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for EditorScript { } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorScript { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_root_node : * mut sys :: godot_method_bind , pub get_editor_interface : * mut sys :: godot_method_bind , pub get_scene : * mut sys :: godot_method_bind } impl EditorScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorScriptMethodTable = EditorScriptMethodTable { class_constructor : None , add_root_node : 0 as * mut sys :: godot_method_bind , get_editor_interface : 0 as * mut sys :: godot_method_bind , get_scene : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorScript\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_root_node = (gd_api . godot_method_bind_get_method) (class_name , "add_root_node\0" . as_ptr () as * const c_char) ; table . get_editor_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_editor_interface\0" . as_ptr () as * const c_char) ; table . get_scene = (gd_api . godot_method_bind_get_method) (class_name , "get_scene\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:88:12623
[INFO] [stdout]    |
[INFO] [stdout] 88 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 # [doc = "`core class Physics2DShapeQueryParameters` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_physics2dshapequeryparameters.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPhysics2DShapeQueryParameters inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Physics2DShapeQueryParameters { this : RawObject < Self > , } impl Physics2DShapeQueryParameters { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Physics2DShapeQueryParametersMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The physics layer(s) the query will take into account (as a bitmask). See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_layer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_collision_layer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The list of objects or object [RID]s that will be excluded from collisions."] # [doc = ""] # [inline] pub fn exclude (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_exclude ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The collision margin for the shape."] # [doc = ""] # [inline] pub fn margin (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_margin ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The motion of the shape being queried for."] # [doc = ""] # [inline] pub fn motion (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_motion ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The queried shape's [RID]. See also [method set_shape]."] # [doc = ""] # [inline] pub fn shape_rid (& self) -> Rid { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_shape_rid ; let ret = crate :: icalls :: icallptr_rid (method_bind , self . this . sys () . as_ptr ()) ; Rid :: from_sys (ret) } } # [doc = "The queried shape's transform matrix."] # [doc = ""] # [inline] pub fn transform (& self) -> Transform2D { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_transform ; let ret = crate :: icalls :: icallptr_trans2D (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If `true`, the query will take [Area2D]s into account."] # [doc = ""] # [inline] pub fn is_collide_with_areas_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . is_collide_with_areas_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the query will take [PhysicsBody2D]s into account."] # [doc = ""] # [inline] pub fn is_collide_with_bodies_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . is_collide_with_bodies_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the query will take [Area2D]s into account."] # [doc = ""] # [inline] pub fn set_collide_with_areas (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_collide_with_areas ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, the query will take [PhysicsBody2D]s into account."] # [doc = ""] # [inline] pub fn set_collide_with_bodies (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_collide_with_bodies ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The physics layer(s) the query will take into account (as a bitmask). See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_layer (& self , collision_layer : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_collision_layer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_layer) ; } } # [doc = "The list of objects or object [RID]s that will be excluded from collisions."] # [doc = ""] # [inline] pub fn set_exclude (& self , exclude : VariantArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_exclude ; let ret = crate :: icalls :: icallptr_void_arr (method_bind , self . this . sys () . as_ptr () , exclude) ; } } # [doc = "The collision margin for the shape."] # [doc = ""] # [inline] pub fn set_margin (& self , margin : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_margin ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , margin) ; } } # [doc = "The motion of the shape being queried for."] # [doc = ""] # [inline] pub fn set_motion (& self , motion : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_motion ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , motion) ; } } # [doc = "Sets the [Shape2D] that will be used for collision/intersection queries."] # [doc = ""] # [inline] pub fn set_shape (& self , shape : impl AsArg < crate :: generated :: resource :: Resource >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_shape ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , shape . as_arg_ptr ()) ; } } # [doc = "The queried shape's [RID]. See also [method set_shape]."] # [doc = ""] # [inline] pub fn set_shape_rid (& self , shape : Rid) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_shape_rid ; let ret = crate :: icalls :: icallptr_void_rid (method_bind , self . this . sys () . as_ptr () , shape) ; } } # [doc = "The queried shape's transform matrix."] # [doc = ""] # [inline] pub fn set_transform (& self , transform : Transform2D) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_transform ; let ret = crate :: icalls :: icallptr_void_trans2D (method_bind , self . this . sys () . as_ptr () , transform) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Physics2DShapeQueryParameters { } unsafe impl GodotObject for Physics2DShapeQueryParameters { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Physics2DShapeQueryParameters" } } impl std :: ops :: Deref for Physics2DShapeQueryParameters { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Physics2DShapeQueryParameters { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Physics2DShapeQueryParameters { } unsafe impl SubClass < crate :: generated :: object :: Object > for Physics2DShapeQueryParameters { } impl Instanciable for Physics2DShapeQueryParameters { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Physics2DShapeQueryParameters :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Physics2DShapeQueryParametersMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_collision_layer : * mut sys :: godot_method_bind , pub get_exclude : * mut sys :: godot_method_bind , pub get_margin : * mut sys :: godot_method_bind , pub get_motion : * mut sys :: godot_method_bind , pub get_shape_rid : * mut sys :: godot_method_bind , pub get_transform : * mut sys :: godot_method_bind , pub is_collide_with_areas_enabled : * mut sys :: godot_method_bind , pub is_collide_with_bodies_enabled : * mut sys :: godot_method_bind , pub set_collide_with_areas : * mut sys :: godot_method_bind , pub set_collide_with_bodies : * mut sys :: godot_method_bind , pub set_collision_layer : * mut sys :: godot_method_bind , pub set_exclude : * mut sys :: godot_method_bind , pub set_margin : * mut sys :: godot_method_bind , pub set_motion : * mut sys :: godot_method_bind , pub set_shape : * mut sys :: godot_method_bind , pub set_shape_rid : * mut sys :: godot_method_bind , pub set_transform : * mut sys :: godot_method_bind } impl Physics2DShapeQueryParametersMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Physics2DShapeQueryParametersMethodTable = Physics2DShapeQueryParametersMethodTable { class_constructor : None , get_collision_layer : 0 as * mut sys :: godot_method_bind , get_exclude : 0 as * mut sys :: godot_method_bind , get_margin : 0 as * mut sys :: godot_method_bind , get_motion : 0 as * mut sys :: godot_method_bind , get_shape_rid : 0 as * mut sys :: godot_method_bind , get_transform : 0 as * mut sys :: godot_method_bind , is_collide_with_areas_enabled : 0 as * mut sys :: godot_method_bind , is_collide_with_bodies_enabled : 0 as * mut sys :: godot_method_bind , set_collide_with_areas : 0 as * mut sys :: godot_method_bind , set_collide_with_bodies : 0 as * mut sys :: godot_method_bind , set_collision_layer : 0 as * mut sys :: godot_method_bind , set_exclude : 0 as * mut sys :: godot_method_bind , set_margin : 0 as * mut sys :: godot_method_bind , set_motion : 0 as * mut sys :: godot_method_bind , set_shape : 0 as * mut sys :: godot_method_bind , set_shape_rid : 0 as * mut sys :: godot_method_bind , set_transform : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Physics2DShapeQueryParametersMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Physics2DShapeQueryParameters\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer\0" . as_ptr () as * const c_char) ; table . get_exclude = (gd_api . godot_method_bind_get_method) (class_name , "get_exclude\0" . as_ptr () as * const c_char) ; table . get_margin = (gd_api . godot_method_bind_get_method) (class_name , "get_margin\0" . as_ptr () as * const c_char) ; table . get_motion = (gd_api . godot_method_bind_get_method) (class_name , "get_motion\0" . as_ptr () as * const c_char) ; table . get_shape_rid = (gd_api . godot_method_bind_get_method) (class_name , "get_shape_rid\0" . as_ptr () as * const c_char) ; table . get_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_transform\0" . as_ptr () as * const c_char) ; table . is_collide_with_areas_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_areas_enabled\0" . as_ptr () as * const c_char) ; table . is_collide_with_bodies_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_bodies_enabled\0" . as_ptr () as * const c_char) ; table . set_collide_with_areas = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_areas\0" . as_ptr () as * const c_char) ; table . set_collide_with_bodies = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_bodies\0" . as_ptr () as * const c_char) ; table . set_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer\0" . as_ptr () as * const c_char) ; table . set_exclude = (gd_api . godot_method_bind_get_method) (class_name , "set_exclude\0" . as_ptr () as * const c_char) ; table . set_margin = (gd_api . godot_method_bind_get_method) (class_name , "set_margin\0" . as_ptr () as * const c_char) ; table . set_motion = (gd_api . godot_method_bind_get_method) (class_name , "set_motion\0" . as_ptr () as * const c_char) ; table . set_shape = (gd_api . godot_method_bind_get_method) (class_name , "set_shape\0" . as_ptr () as * const c_char) ; table . set_shape_rid = (gd_api . godot_method_bind_get_method) (class_name , "set_shape_rid\0" . as_ptr () as * const c_char) ; table . set_transform = (gd_api . godot_method_bind_get_method) (class_name , "set_transform\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:94:6880
[INFO] [stdout]    |
[INFO] [stdout] 94 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 # [doc = "`core class CSGMesh` inherits `CSGPrimitive` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_csgmesh.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`CSGMesh` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<CSGMesh>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nCSGMesh inherits methods from:\n - [CSGPrimitive](struct.CSGPrimitive.html)\n - [CSGShape](struct.CSGShape.html)\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CSGMesh { this : RawObject < Self > , } impl CSGMesh { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CSGMeshMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn material (& self) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . get_material ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_material (& self , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . set_material ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , material . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_mesh (& self , mesh : impl AsArg < crate :: generated :: mesh :: Mesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . set_mesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CSGMesh { } unsafe impl GodotObject for CSGMesh { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "CSGMesh" } } impl QueueFree for CSGMesh { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for CSGMesh { type Target = crate :: generated :: csg_primitive :: CSGPrimitive ; # [inline] fn deref (& self) -> & crate :: generated :: csg_primitive :: CSGPrimitive { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CSGMesh { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: csg_primitive :: CSGPrimitive { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: csg_primitive :: CSGPrimitive > for CSGMesh { } unsafe impl SubClass < crate :: generated :: csg_shape :: CSGShape > for CSGMesh { } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for CSGMesh { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for CSGMesh { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for CSGMesh { } unsafe impl SubClass < crate :: generated :: node :: Node > for CSGMesh { } unsafe impl SubClass < crate :: generated :: object :: Object > for CSGMesh { } impl Instanciable for CSGMesh { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CSGMesh :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CSGMeshMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_material : * mut sys :: godot_method_bind , pub get_mesh : * mut sys :: godot_method_bind , pub set_material : * mut sys :: godot_method_bind , pub set_mesh : * mut sys :: godot_method_bind } impl CSGMeshMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CSGMeshMethodTable = CSGMeshMethodTable { class_constructor : None , get_material : 0 as * mut sys :: godot_method_bind , get_mesh : 0 as * mut sys :: godot_method_bind , set_material : 0 as * mut sys :: godot_method_bind , set_mesh : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CSGMeshMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CSGMesh\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_material = (gd_api . godot_method_bind_get_method) (class_name , "get_material\0" . as_ptr () as * const c_char) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . set_material = (gd_api . godot_method_bind_get_method) (class_name , "set_material\0" . as_ptr () as * const c_char) ; table . set_mesh = (gd_api . godot_method_bind_get_method) (class_name , "set_mesh\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:100:3679
[INFO] [stdout]     |
[INFO] [stdout] 100 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 # [doc = "`core class VisualShaderNodeCustom` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodecustom.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeCustom inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeCustom { this : RawObject < Self > , } impl VisualShaderNodeCustom { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeCustomMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeCustom { } unsafe impl GodotObject for VisualShaderNodeCustom { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeCustom" } } impl std :: ops :: Deref for VisualShaderNodeCustom { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeCustom { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeCustom { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeCustom { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeCustom { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeCustom { } impl Instanciable for VisualShaderNodeCustom { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeCustom :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeCustomMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualShaderNodeCustomMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeCustomMethodTable = VisualShaderNodeCustomMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeCustomMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeCustom\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:106:5412
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 # [doc = "`core class VisualScriptLocalVar` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptlocalvar.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptLocalVar inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptLocalVar { this : RawObject < Self > , } impl VisualScriptLocalVar { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptLocalVarMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn var_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . get_var_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn var_type (& self) -> VariantType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . get_var_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; VariantType :: from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_var_name (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . set_var_name ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_var_type (& self , _type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . set_var_type ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , _type) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptLocalVar { } unsafe impl GodotObject for VisualScriptLocalVar { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptLocalVar" } } impl std :: ops :: Deref for VisualScriptLocalVar { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptLocalVar { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptLocalVar { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptLocalVar { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptLocalVar { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptLocalVar { } impl Instanciable for VisualScriptLocalVar { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptLocalVar :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptLocalVarMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_var_name : * mut sys :: godot_method_bind , pub get_var_type : * mut sys :: godot_method_bind , pub set_var_name : * mut sys :: godot_method_bind , pub set_var_type : * mut sys :: godot_method_bind } impl VisualScriptLocalVarMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptLocalVarMethodTable = VisualScriptLocalVarMethodTable { class_constructor : None , get_var_name : 0 as * mut sys :: godot_method_bind , get_var_type : 0 as * mut sys :: godot_method_bind , set_var_name : 0 as * mut sys :: godot_method_bind , set_var_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptLocalVarMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptLocalVar\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_var_name = (gd_api . godot_method_bind_get_method) (class_name , "get_var_name\0" . as_ptr () as * const c_char) ; table . get_var_type = (gd_api . godot_method_bind_get_method) (class_name , "get_var_type\0" . as_ptr () as * const c_char) ; table . set_var_name = (gd_api . godot_method_bind_get_method) (class_name , "set_var_name\0" . as_ptr () as * const c_char) ; table . set_var_type = (gd_api . godot_method_bind_get_method) (class_name , "set_var_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:112:7979
[INFO] [stdout]     |
[INFO] [stdout] 112 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 112 |                 # [doc = "`core class BitMap` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_bitmap.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nBitMap inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct BitMap { this : RawObject < Self > , } impl BitMap { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = BitMapMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Creates a bitmap with the specified size, filled with `false`."] # [doc = ""] # [inline] pub fn create (& self , size : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . create ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , size) ; } } # [doc = "Creates a bitmap that matches the given image dimensions, every element of the bitmap is set to `false` if the alpha value of the image at that position is equal to `threshold` or less, and `true` in other case.\n# Default Arguments\n* `threshold` - `0.1`"] # [doc = ""] # [inline] pub fn create_from_image_alpha (& self , image : impl AsArg < crate :: generated :: image :: Image > , threshold : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . create_from_image_alpha ; let ret = crate :: icalls :: icallptr_void_obj_f64 (method_bind , self . this . sys () . as_ptr () , image . as_arg_ptr () , threshold) ; } } # [doc = "Returns bitmap's value at the specified position."] # [doc = ""] # [inline] pub fn get_bit (& self , position : Vector2) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . get_bit ; let ret = crate :: icalls :: icallptr_bool_vec2 (method_bind , self . this . sys () . as_ptr () , position) ; ret as _ } } # [doc = "Returns bitmap's dimensions."] # [doc = ""] # [inline] pub fn get_size (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . get_size ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the amount of bitmap elements that are set to `true`."] # [doc = ""] # [inline] pub fn get_true_bit_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . get_true_bit_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Applies morphological dilation to the bitmap. The first argument is the dilation amount, Rect2 is the area where the dilation will be applied."] # [doc = ""] # [inline] pub fn grow_mask (& self , pixels : i64 , rect : Rect2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . grow_mask ; let ret = crate :: icalls :: icallptr_void_i64_rect2 (method_bind , self . this . sys () . as_ptr () , pixels , rect) ; } } # [doc = "\n# Default Arguments\n* `epsilon` - `2.0`"] # [doc = ""] # [inline] pub fn opaque_to_polygons (& self , rect : Rect2 , epsilon : f64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . opaque_to_polygons ; let ret = crate :: icalls :: icallvar__rect2_f64 (method_bind , self . this . sys () . as_ptr () , rect , epsilon) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Sets the bitmap's element at the specified position, to the specified value."] # [doc = ""] # [inline] pub fn set_bit (& self , position : Vector2 , bit : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . set_bit ; let ret = crate :: icalls :: icallptr_void_vec2_bool (method_bind , self . this . sys () . as_ptr () , position , bit) ; } } # [doc = "Sets a rectangular portion of the bitmap to the specified value."] # [doc = ""] # [inline] pub fn set_bit_rect (& self , rect : Rect2 , bit : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . set_bit_rect ; let ret = crate :: icalls :: icallptr_void_rect2_bool (method_bind , self . this . sys () . as_ptr () , rect , bit) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for BitMap { } unsafe impl GodotObject for BitMap { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "BitMap" } } impl std :: ops :: Deref for BitMap { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for BitMap { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for BitMap { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for BitMap { } unsafe impl SubClass < crate :: generated :: object :: Object > for BitMap { } impl Instanciable for BitMap { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { BitMap :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct BitMapMethodTable { pub class_constructor : sys :: godot_class_constructor , pub create : * mut sys :: godot_method_bind , pub create_from_image_alpha : * mut sys :: godot_method_bind , pub get_bit : * mut sys :: godot_method_bind , pub get_size : * mut sys :: godot_method_bind , pub get_true_bit_count : * mut sys :: godot_method_bind , pub grow_mask : * mut sys :: godot_method_bind , pub opaque_to_polygons : * mut sys :: godot_method_bind , pub set_bit : * mut sys :: godot_method_bind , pub set_bit_rect : * mut sys :: godot_method_bind } impl BitMapMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : BitMapMethodTable = BitMapMethodTable { class_constructor : None , create : 0 as * mut sys :: godot_method_bind , create_from_image_alpha : 0 as * mut sys :: godot_method_bind , get_bit : 0 as * mut sys :: godot_method_bind , get_size : 0 as * mut sys :: godot_method_bind , get_true_bit_count : 0 as * mut sys :: godot_method_bind , grow_mask : 0 as * mut sys :: godot_method_bind , opaque_to_polygons : 0 as * mut sys :: godot_method_bind , set_bit : 0 as * mut sys :: godot_method_bind , set_bit_rect : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { BitMapMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "BitMap\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . create = (gd_api . godot_method_bind_get_method) (class_name , "create\0" . as_ptr () as * const c_char) ; table . create_from_image_alpha = (gd_api . godot_method_bind_get_method) (class_name , "create_from_image_alpha\0" . as_ptr () as * const c_char) ; table . get_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_bit\0" . as_ptr () as * const c_char) ; table . get_size = (gd_api . godot_method_bind_get_method) (class_name , "get_size\0" . as_ptr () as * const c_char) ; table . get_true_bit_count = (gd_api . godot_method_bind_get_method) (class_name , "get_true_bit_count\0" . as_ptr () as * const c_char) ; table . grow_mask = (gd_api . godot_method_bind_get_method) (class_name , "grow_mask\0" . as_ptr () as * const c_char) ; table . opaque_to_polygons = (gd_api . godot_method_bind_get_method) (class_name , "opaque_to_polygons\0" . as_ptr () as * const c_char) ; table . set_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_bit\0" . as_ptr () as * const c_char) ; table . set_bit_rect = (gd_api . godot_method_bind_get_method) (class_name , "set_bit_rect\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:118:18076
[INFO] [stdout]     |
[INFO] [stdout] 118 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 # [doc = "`core class RayCast` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_raycast.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`RayCast` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<RayCast>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nRayCast inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct RayCast { this : RawObject < Self > , } impl RayCast { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = RayCastMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a collision exception so the ray does not report collisions with the specified node."] # [doc = ""] # [inline] pub fn add_exception (& self , node : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . add_exception ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Adds a collision exception so the ray does not report collisions with the specified [RID]."] # [doc = ""] # [inline] pub fn add_exception_rid (& self , rid : Rid) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . add_exception_rid ; let ret = crate :: icalls :: icallptr_void_rid (method_bind , self . this . sys () . as_ptr () , rid) ; } } # [doc = "Removes all collision exceptions for this ray."] # [doc = ""] # [inline] pub fn clear_exceptions (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . clear_exceptions ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Updates the collision information for the ray.\nUse this method to update the collision information immediately instead of waiting for the next `_physics_process` call, for example if the ray or its parent has changed state.\n**Note:** `enabled` is not required for this to work."] # [doc = ""] # [inline] pub fn force_raycast_update (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . force_raycast_update ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "The ray's destination point, relative to the RayCast's `position`."] # [doc = ""] # [inline] pub fn cast_to (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_cast_to ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the first object that the ray intersects, or `null` if no object is intersecting the ray (i.e. [method is_colliding] returns `false`)."] # [doc = ""] # [inline] pub fn get_collider (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collider ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the shape ID of the first object that the ray intersects, or `0` if no object is intersecting the ray (i.e. [method is_colliding] returns `false`)."] # [doc = ""] # [inline] pub fn get_collider_shape (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collider_shape ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the bit index passed is turned on.\n**Note:** Bit indices range from 0-19."] # [doc = ""] # [inline] pub fn get_collision_mask_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_mask_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = "Returns the normal of the intersecting object's shape at the collision point."] # [doc = ""] # [inline] pub fn get_collision_normal (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_normal ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the collision point at which the ray intersects the closest object.\n**Note:** This point is in the **global** coordinate system."] # [doc = ""] # [inline] pub fn get_collision_point (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_point ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If `true`, collisions will be ignored for this RayCast's immediate parent."] # [doc = ""] # [inline] pub fn exclude_parent_body (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_exclude_parent_body ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, collision with [Area]s will be reported."] # [doc = ""] # [inline] pub fn is_collide_with_areas_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_collide_with_areas_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, collision with [PhysicsBody]s will be reported."] # [doc = ""] # [inline] pub fn is_collide_with_bodies_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_collide_with_bodies_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns whether any object is intersecting with the ray's vector (considering the vector length)."] # [doc = ""] # [inline] pub fn is_colliding (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_colliding ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, collisions will be reported."] # [doc = ""] # [inline] pub fn is_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Removes a collision exception so the ray does report collisions with the specified node."] # [doc = ""] # [inline] pub fn remove_exception (& self , node : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . remove_exception ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Removes a collision exception so the ray does report collisions with the specified [RID]."] # [doc = ""] # [inline] pub fn remove_exception_rid (& self , rid : Rid) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . remove_exception_rid ; let ret = crate :: icalls :: icallptr_void_rid (method_bind , self . this . sys () . as_ptr () , rid) ; } } # [doc = "The ray's destination point, relative to the RayCast's `position`."] # [doc = ""] # [inline] pub fn set_cast_to (& self , local_point : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_cast_to ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , local_point) ; } } # [doc = "If `true`, collision with [Area]s will be reported."] # [doc = ""] # [inline] pub fn set_collide_with_areas (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collide_with_areas ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, collision with [PhysicsBody]s will be reported."] # [doc = ""] # [inline] pub fn set_collide_with_bodies (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collide_with_bodies ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_mask (& self , mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collision_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mask) ; } } # [doc = "Sets the bit index passed to the `value` passed.\n**Note:** Bit indexes range from 0-19."] # [doc = ""] # [inline] pub fn set_collision_mask_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collision_mask_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = "If `true`, collisions will be reported."] # [doc = ""] # [inline] pub fn set_enabled (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, collisions will be ignored for this RayCast's immediate parent."] # [doc = ""] # [inline] pub fn set_exclude_parent_body (& self , mask : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_exclude_parent_body ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , mask) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for RayCast { } unsafe impl GodotObject for RayCast { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "RayCast" } } impl QueueFree for RayCast { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for RayCast { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for RayCast { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for RayCast { } unsafe impl SubClass < crate :: generated :: node :: Node > for RayCast { } unsafe impl SubClass < crate :: generated :: object :: Object > for RayCast { } impl Instanciable for RayCast { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { RayCast :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct RayCastMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_exception : * mut sys :: godot_method_bind , pub add_exception_rid : * mut sys :: godot_method_bind , pub clear_exceptions : * mut sys :: godot_method_bind , pub force_raycast_update : * mut sys :: godot_method_bind , pub get_cast_to : * mut sys :: godot_method_bind , pub get_collider : * mut sys :: godot_method_bind , pub get_collider_shape : * mut sys :: godot_method_bind , pub get_collision_mask : * mut sys :: godot_method_bind , pub get_collision_mask_bit : * mut sys :: godot_method_bind , pub get_collision_normal : * mut sys :: godot_method_bind , pub get_collision_point : * mut sys :: godot_method_bind , pub get_exclude_parent_body : * mut sys :: godot_method_bind , pub is_collide_with_areas_enabled : * mut sys :: godot_method_bind , pub is_collide_with_bodies_enabled : * mut sys :: godot_method_bind , pub is_colliding : * mut sys :: godot_method_bind , pub is_enabled : * mut sys :: godot_method_bind , pub remove_exception : * mut sys :: godot_method_bind , pub remove_exception_rid : * mut sys :: godot_method_bind , pub set_cast_to : * mut sys :: godot_method_bind , pub set_collide_with_areas : * mut sys :: godot_method_bind , pub set_collide_with_bodies : * mut sys :: godot_method_bind , pub set_collision_mask : * mut sys :: godot_method_bind , pub set_collision_mask_bit : * mut sys :: godot_method_bind , pub set_enabled : * mut sys :: godot_method_bind , pub set_exclude_parent_body : * mut sys :: godot_method_bind } impl RayCastMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : RayCastMethodTable = RayCastMethodTable { class_constructor : None , add_exception : 0 as * mut sys :: godot_method_bind , add_exception_rid : 0 as * mut sys :: godot_method_bind , clear_exceptions : 0 as * mut sys :: godot_method_bind , force_raycast_update : 0 as * mut sys :: godot_method_bind , get_cast_to : 0 as * mut sys :: godot_method_bind , get_collider : 0 as * mut sys :: godot_method_bind , get_collider_shape : 0 as * mut sys :: godot_method_bind , get_collision_mask : 0 as * mut sys :: godot_method_bind , get_collision_mask_bit : 0 as * mut sys :: godot_method_bind , get_collision_normal : 0 as * mut sys :: godot_method_bind , get_collision_point : 0 as * mut sys :: godot_method_bind , get_exclude_parent_body : 0 as * mut sys :: godot_method_bind , is_collide_with_areas_enabled : 0 as * mut sys :: godot_method_bind , is_collide_with_bodies_enabled : 0 as * mut sys :: godot_method_bind , is_colliding : 0 as * mut sys :: godot_method_bind , is_enabled : 0 as * mut sys :: godot_method_bind , remove_exception : 0 as * mut sys :: godot_method_bind , remove_exception_rid : 0 as * mut sys :: godot_method_bind , set_cast_to : 0 as * mut sys :: godot_method_bind , set_collide_with_areas : 0 as * mut sys :: godot_method_bind , set_collide_with_bodies : 0 as * mut sys :: godot_method_bind , set_collision_mask : 0 as * mut sys :: godot_method_bind , set_collision_mask_bit : 0 as * mut sys :: godot_method_bind , set_enabled : 0 as * mut sys :: godot_method_bind , set_exclude_parent_body : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { RayCastMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "RayCast\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_exception = (gd_api . godot_method_bind_get_method) (class_name , "add_exception\0" . as_ptr () as * const c_char) ; table . add_exception_rid = (gd_api . godot_method_bind_get_method) (class_name , "add_exception_rid\0" . as_ptr () as * const c_char) ; table . clear_exceptions = (gd_api . godot_method_bind_get_method) (class_name , "clear_exceptions\0" . as_ptr () as * const c_char) ; table . force_raycast_update = (gd_api . godot_method_bind_get_method) (class_name , "force_raycast_update\0" . as_ptr () as * const c_char) ; table . get_cast_to = (gd_api . godot_method_bind_get_method) (class_name , "get_cast_to\0" . as_ptr () as * const c_char) ; table . get_collider = (gd_api . godot_method_bind_get_method) (class_name , "get_collider\0" . as_ptr () as * const c_char) ; table . get_collider_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape\0" . as_ptr () as * const c_char) ; table . get_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask\0" . as_ptr () as * const c_char) ; table . get_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . get_collision_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_normal\0" . as_ptr () as * const c_char) ; table . get_collision_point = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_point\0" . as_ptr () as * const c_char) ; table . get_exclude_parent_body = (gd_api . godot_method_bind_get_method) (class_name , "get_exclude_parent_body\0" . as_ptr () as * const c_char) ; table . is_collide_with_areas_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_areas_enabled\0" . as_ptr () as * const c_char) ; table . is_collide_with_bodies_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_bodies_enabled\0" . as_ptr () as * const c_char) ; table . is_colliding = (gd_api . godot_method_bind_get_method) (class_name , "is_colliding\0" . as_ptr () as * const c_char) ; table . is_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_enabled\0" . as_ptr () as * const c_char) ; table . remove_exception = (gd_api . godot_method_bind_get_method) (class_name , "remove_exception\0" . as_ptr () as * const c_char) ; table . remove_exception_rid = (gd_api . godot_method_bind_get_method) (class_name , "remove_exception_rid\0" . as_ptr () as * const c_char) ; table . set_cast_to = (gd_api . godot_method_bind_get_method) (class_name , "set_cast_to\0" . as_ptr () as * const c_char) ; table . set_collide_with_areas = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_areas\0" . as_ptr () as * const c_char) ; table . set_collide_with_bodies = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_bodies\0" . as_ptr () as * const c_char) ; table . set_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask\0" . as_ptr () as * const c_char) ; table . set_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . set_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_enabled\0" . as_ptr () as * const c_char) ; table . set_exclude_parent_body = (gd_api . godot_method_bind_get_method) (class_name , "set_exclude_parent_body\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:124:3071
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 # [doc = "`core class JavaClass` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_javaclass.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nJavaClass inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct JavaClass { this : RawObject < Self > , } impl JavaClass { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = JavaClassMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for JavaClass { } unsafe impl GodotObject for JavaClass { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "JavaClass" } } impl std :: ops :: Deref for JavaClass { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for JavaClass { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for JavaClass { } unsafe impl SubClass < crate :: generated :: object :: Object > for JavaClass { } impl Instanciable for JavaClass { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { JavaClass :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct JavaClassMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl JavaClassMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : JavaClassMethodTable = JavaClassMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { JavaClassMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "JavaClass\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:130:13664
[INFO] [stdout]     |
[INFO] [stdout] 130 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 # [doc = "`core class PathFollow` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_pathfollow.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`PathFollow` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<PathFollow>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPathFollow inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PathFollow { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct RotationMode (pub i64) ; impl RotationMode { pub const NONE : RotationMode = RotationMode (0i64) ; pub const Y : RotationMode = RotationMode (1i64) ; pub const XY : RotationMode = RotationMode (2i64) ; pub const XYZ : RotationMode = RotationMode (3i64) ; pub const ORIENTED : RotationMode = RotationMode (4i64) ; } impl From < i64 > for RotationMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < RotationMode > for i64 { # [inline] fn from (v : RotationMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl PathFollow { pub const ROTATION_NONE : i64 = 0i64 ; pub const ROTATION_ORIENTED : i64 = 4i64 ; pub const ROTATION_XY : i64 = 2i64 ; pub const ROTATION_XYZ : i64 = 3i64 ; pub const ROTATION_Y : i64 = 1i64 ; } impl PathFollow { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PathFollowMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn cubic_interpolation (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_cubic_interpolation ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn h_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_h_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path."] # [doc = ""] # [inline] pub fn offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Allows or forbids rotation on one or more axes, depending on the [enum RotationMode] constants being used."] # [doc = ""] # [inline] pub fn rotation_mode (& self) -> crate :: generated :: path_follow :: RotationMode { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_rotation_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: path_follow :: RotationMode (ret) } } # [doc = "The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn unit_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_unit_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn v_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_v_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn has_loop (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . has_loop ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn set_cubic_interpolation (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_cubic_interpolation ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn set_h_offset (& self , h_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_h_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , h_offset) ; } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn set_loop (& self , _loop : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_loop ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , _loop) ; } } # [doc = "The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path."] # [doc = ""] # [inline] pub fn set_offset (& self , offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "Allows or forbids rotation on one or more axes, depending on the [enum RotationMode] constants being used."] # [doc = ""] # [inline] pub fn set_rotation_mode (& self , rotation_mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_rotation_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , rotation_mode) ; } } # [doc = "The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn set_unit_offset (& self , unit_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_unit_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , unit_offset) ; } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn set_v_offset (& self , v_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_v_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , v_offset) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PathFollow { } unsafe impl GodotObject for PathFollow { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "PathFollow" } } impl QueueFree for PathFollow { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for PathFollow { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PathFollow { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for PathFollow { } unsafe impl SubClass < crate :: generated :: node :: Node > for PathFollow { } unsafe impl SubClass < crate :: generated :: object :: Object > for PathFollow { } impl Instanciable for PathFollow { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PathFollow :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PathFollowMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cubic_interpolation : * mut sys :: godot_method_bind , pub get_h_offset : * mut sys :: godot_method_bind , pub get_offset : * mut sys :: godot_method_bind , pub get_rotation_mode : * mut sys :: godot_method_bind , pub get_unit_offset : * mut sys :: godot_method_bind , pub get_v_offset : * mut sys :: godot_method_bind , pub has_loop : * mut sys :: godot_method_bind , pub set_cubic_interpolation : * mut sys :: godot_method_bind , pub set_h_offset : * mut sys :: godot_method_bind , pub set_loop : * mut sys :: godot_method_bind , pub set_offset : * mut sys :: godot_method_bind , pub set_rotation_mode : * mut sys :: godot_method_bind , pub set_unit_offset : * mut sys :: godot_method_bind , pub set_v_offset : * mut sys :: godot_method_bind } impl PathFollowMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PathFollowMethodTable = PathFollowMethodTable { class_constructor : None , get_cubic_interpolation : 0 as * mut sys :: godot_method_bind , get_h_offset : 0 as * mut sys :: godot_method_bind , get_offset : 0 as * mut sys :: godot_method_bind , get_rotation_mode : 0 as * mut sys :: godot_method_bind , get_unit_offset : 0 as * mut sys :: godot_method_bind , get_v_offset : 0 as * mut sys :: godot_method_bind , has_loop : 0 as * mut sys :: godot_method_bind , set_cubic_interpolation : 0 as * mut sys :: godot_method_bind , set_h_offset : 0 as * mut sys :: godot_method_bind , set_loop : 0 as * mut sys :: godot_method_bind , set_offset : 0 as * mut sys :: godot_method_bind , set_rotation_mode : 0 as * mut sys :: godot_method_bind , set_unit_offset : 0 as * mut sys :: godot_method_bind , set_v_offset : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PathFollowMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PathFollow\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "get_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . get_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_h_offset\0" . as_ptr () as * const c_char) ; table . get_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_offset\0" . as_ptr () as * const c_char) ; table . get_rotation_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_rotation_mode\0" . as_ptr () as * const c_char) ; table . get_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_unit_offset\0" . as_ptr () as * const c_char) ; table . get_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_v_offset\0" . as_ptr () as * const c_char) ; table . has_loop = (gd_api . godot_method_bind_get_method) (class_name , "has_loop\0" . as_ptr () as * const c_char) ; table . set_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "set_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . set_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_h_offset\0" . as_ptr () as * const c_char) ; table . set_loop = (gd_api . godot_method_bind_get_method) (class_name , "set_loop\0" . as_ptr () as * const c_char) ; table . set_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_offset\0" . as_ptr () as * const c_char) ; table . set_rotation_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_rotation_mode\0" . as_ptr () as * const c_char) ; table . set_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_unit_offset\0" . as_ptr () as * const c_char) ; table . set_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_v_offset\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:142:15548
[INFO] [stdout]     |
[INFO] [stdout] 142 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 # [doc = "`core singleton class ARVRServer` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrserver.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nARVRServer inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVRServer { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct RotationMode (pub i64) ; impl RotationMode { pub const RESET_FULL_ROTATION : RotationMode = RotationMode (0i64) ; pub const RESET_BUT_KEEP_TILT : RotationMode = RotationMode (1i64) ; pub const DONT_RESET_ROTATION : RotationMode = RotationMode (2i64) ; } impl From < i64 > for RotationMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < RotationMode > for i64 { # [inline] fn from (v : RotationMode) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TrackerType (pub i64) ; impl TrackerType { pub const CONTROLLER : TrackerType = TrackerType (1i64) ; pub const BASESTATION : TrackerType = TrackerType (2i64) ; pub const ANCHOR : TrackerType = TrackerType (4i64) ; pub const ANY_KNOWN : TrackerType = TrackerType (127i64) ; pub const UNKNOWN : TrackerType = TrackerType (128i64) ; pub const ANY : TrackerType = TrackerType (255i64) ; } impl From < i64 > for TrackerType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TrackerType > for i64 { # [inline] fn from (v : TrackerType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl ARVRServer { pub const DONT_RESET_ROTATION : i64 = 2i64 ; pub const RESET_BUT_KEEP_TILT : i64 = 1i64 ; pub const RESET_FULL_ROTATION : i64 = 0i64 ; pub const TRACKER_ANCHOR : i64 = 4i64 ; pub const TRACKER_ANY : i64 = 255i64 ; pub const TRACKER_ANY_KNOWN : i64 = 127i64 ; pub const TRACKER_BASESTATION : i64 = 2i64 ; pub const TRACKER_CONTROLLER : i64 = 1i64 ; pub const TRACKER_UNKNOWN : i64 = 128i64 ; } impl ARVRServer { # [doc = "Returns a reference to the singleton instance."] # [inline] pub fn godot_singleton () -> & 'static Self { unsafe { let this = (get_api () . godot_global_get_singleton) ("ARVRServer\0" . as_ptr () as * mut _) ; let this = ptr :: NonNull :: new (this) . expect ("singleton should not be null") ; let this = RawObject :: from_sys_ref_unchecked :: < 'static > (this) ; Self :: cast_ref (this) } } # [doc = "This is an important function to understand correctly. AR and VR platforms all handle positioning slightly differently.\nFor platforms that do not offer spatial tracking, our origin point (0,0,0) is the location of our HMD, but you have little control over the direction the player is facing in the real world.\nFor platforms that do offer spatial tracking, our origin point depends very much on the system. For OpenVR, our origin point is usually the center of the tracking space, on the ground. For other platforms, it's often the location of the tracking camera.\nThis method allows you to center your tracker on the location of the HMD. It will take the current location of the HMD and use that to adjust all your tracking data; in essence, realigning the real world to your player's current position in the game world.\nFor this method to produce usable results, tracking information must be available. This often takes a few frames after starting your game.\nYou should call this method after a few seconds have passed. For instance, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism."] # [doc = ""] # [inline] pub fn center_on_hmd (& self , rotation_mode : i64 , keep_height : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . center_on_hmd ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , rotation_mode , keep_height) ; } } # [doc = "Finds an interface by its name. For instance, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it."] # [doc = ""] # [inline] pub fn find_interface (& self , name : impl Into < GodotString >) -> Option < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . find_interface ; let ret = crate :: icalls :: icallptr_obj_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the primary interface's transformation."] # [doc = ""] # [inline] pub fn get_hmd_transform (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_hmd_transform ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the interface registered at a given index in our list of interfaces."] # [doc = ""] # [inline] pub fn get_interface (& self , idx : i64) -> Option < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_interface ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of interfaces currently registered with the AR/VR server. If your project supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try to initialize each interface and use the first one that returns `true`."] # [doc = ""] # [inline] pub fn get_interface_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_interface_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a list of available interfaces the ID and name of each interface."] # [doc = ""] # [inline] pub fn get_interfaces (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_interfaces ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the absolute timestamp (in μs) of the last [ARVRServer] commit of the AR/VR eyes to [VisualServer]. The value comes from an internal call to [method OS.get_ticks_usec]."] # [doc = ""] # [inline] pub fn get_last_commit_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_last_commit_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the duration (in μs) of the last frame. This is computed as the difference between [method get_last_commit_usec] and [method get_last_process_usec] when committing."] # [doc = ""] # [inline] pub fn get_last_frame_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_last_frame_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the absolute timestamp (in μs) of the last [ARVRServer] process callback. The value comes from an internal call to [method OS.get_ticks_usec]."] # [doc = ""] # [inline] pub fn get_last_process_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_last_process_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The primary [ARVRInterface] currently bound to the [ARVRServer]."] # [doc = ""] # [inline] pub fn primary_interface (& self) -> Option < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_primary_interface ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the reference frame transform. Mostly used internally and exposed for GDNative build interfaces."] # [doc = ""] # [inline] pub fn get_reference_frame (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_reference_frame ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the positional tracker at the given ID."] # [doc = ""] # [inline] pub fn get_tracker (& self , idx : i64) -> Option < Ref < crate :: generated :: arvr_positional_tracker :: ARVRPositionalTracker , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_tracker ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_positional_tracker :: ARVRPositionalTracker , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of trackers currently registered."] # [doc = ""] # [inline] pub fn get_tracker_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_tracker_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter."] # [doc = ""] # [inline] pub fn world_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_world_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The primary [ARVRInterface] currently bound to the [ARVRServer]."] # [doc = ""] # [inline] pub fn set_primary_interface (& self , interface : impl AsArg < crate :: generated :: arvr_interface :: ARVRInterface >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . set_primary_interface ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , interface . as_arg_ptr ()) ; } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter."] # [doc = ""] # [inline] pub fn set_world_scale (& self , arg0 : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . set_world_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , arg0) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVRServer { } unsafe impl GodotObject for ARVRServer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVRServer" } } impl std :: ops :: Deref for ARVRServer { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVRServer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVRServer { } unsafe impl Send for ARVRServer { } unsafe impl Sync for ARVRServer { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVRServerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub center_on_hmd : * mut sys :: godot_method_bind , pub find_interface : * mut sys :: godot_method_bind , pub get_hmd_transform : * mut sys :: godot_method_bind , pub get_interface : * mut sys :: godot_method_bind , pub get_interface_count : * mut sys :: godot_method_bind , pub get_interfaces : * mut sys :: godot_method_bind , pub get_last_commit_usec : * mut sys :: godot_method_bind , pub get_last_frame_usec : * mut sys :: godot_method_bind , pub get_last_process_usec : * mut sys :: godot_method_bind , pub get_primary_interface : * mut sys :: godot_method_bind , pub get_reference_frame : * mut sys :: godot_method_bind , pub get_tracker : * mut sys :: godot_method_bind , pub get_tracker_count : * mut sys :: godot_method_bind , pub get_world_scale : * mut sys :: godot_method_bind , pub set_primary_interface : * mut sys :: godot_method_bind , pub set_world_scale : * mut sys :: godot_method_bind } impl ARVRServerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVRServerMethodTable = ARVRServerMethodTable { class_constructor : None , center_on_hmd : 0 as * mut sys :: godot_method_bind , find_interface : 0 as * mut sys :: godot_method_bind , get_hmd_transform : 0 as * mut sys :: godot_method_bind , get_interface : 0 as * mut sys :: godot_method_bind , get_interface_count : 0 as * mut sys :: godot_method_bind , get_interfaces : 0 as * mut sys :: godot_method_bind , get_last_commit_usec : 0 as * mut sys :: godot_method_bind , get_last_frame_usec : 0 as * mut sys :: godot_method_bind , get_last_process_usec : 0 as * mut sys :: godot_method_bind , get_primary_interface : 0 as * mut sys :: godot_method_bind , get_reference_frame : 0 as * mut sys :: godot_method_bind , get_tracker : 0 as * mut sys :: godot_method_bind , get_tracker_count : 0 as * mut sys :: godot_method_bind , get_world_scale : 0 as * mut sys :: godot_method_bind , set_primary_interface : 0 as * mut sys :: godot_method_bind , set_world_scale : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVRServerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVRServer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . center_on_hmd = (gd_api . godot_method_bind_get_method) (class_name , "center_on_hmd\0" . as_ptr () as * const c_char) ; table . find_interface = (gd_api . godot_method_bind_get_method) (class_name , "find_interface\0" . as_ptr () as * const c_char) ; table . get_hmd_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_hmd_transform\0" . as_ptr () as * const c_char) ; table . get_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_interface\0" . as_ptr () as * const c_char) ; table . get_interface_count = (gd_api . godot_method_bind_get_method) (class_name , "get_interface_count\0" . as_ptr () as * const c_char) ; table . get_interfaces = (gd_api . godot_method_bind_get_method) (class_name , "get_interfaces\0" . as_ptr () as * const c_char) ; table . get_last_commit_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_last_commit_usec\0" . as_ptr () as * const c_char) ; table . get_last_frame_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_last_frame_usec\0" . as_ptr () as * const c_char) ; table . get_last_process_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_last_process_usec\0" . as_ptr () as * const c_char) ; table . get_primary_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_primary_interface\0" . as_ptr () as * const c_char) ; table . get_reference_frame = (gd_api . godot_method_bind_get_method) (class_name , "get_reference_frame\0" . as_ptr () as * const c_char) ; table . get_tracker = (gd_api . godot_method_bind_get_method) (class_name , "get_tracker\0" . as_ptr () as * const c_char) ; table . get_tracker_count = (gd_api . godot_method_bind_get_method) (class_name , "get_tracker_count\0" . as_ptr () as * const c_char) ; table . get_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_world_scale\0" . as_ptr () as * const c_char) ; table . set_primary_interface = (gd_api . godot_method_bind_get_method) (class_name , "set_primary_interface\0" . as_ptr () as * const c_char) ; table . set_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_world_scale\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:148:3280
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 # [doc = "`core class ResourceFormatLoader` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_resourceformatloader.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nResourceFormatLoader inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ResourceFormatLoader { this : RawObject < Self > , } impl ResourceFormatLoader { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ResourceFormatLoaderMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for ResourceFormatLoader { } unsafe impl GodotObject for ResourceFormatLoader { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "ResourceFormatLoader" } } impl std :: ops :: Deref for ResourceFormatLoader { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ResourceFormatLoader { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for ResourceFormatLoader { } unsafe impl SubClass < crate :: generated :: object :: Object > for ResourceFormatLoader { } impl Instanciable for ResourceFormatLoader { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ResourceFormatLoader :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ResourceFormatLoaderMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl ResourceFormatLoaderMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ResourceFormatLoaderMethodTable = ResourceFormatLoaderMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ResourceFormatLoaderMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ResourceFormatLoader\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:154:4116
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 # [doc = "`core class GDScript` inherits `Script` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_gdscript.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nGDScript inherits methods from:\n - [Script](struct.Script.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct GDScript { this : RawObject < Self > , } impl GDScript { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = GDScriptMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_as_byte_code (& self) -> ByteArray { unsafe { let method_bind : * mut sys :: godot_method_bind = GDScriptMethodTable :: get (get_api ()) . get_as_byte_code ; let ret = crate :: icalls :: icallptr_bytearr (method_bind , self . this . sys () . as_ptr ()) ; ByteArray :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn _new (& self , varargs : & [Variant]) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = GDScriptMethodTable :: get (get_api ()) . _new ; let ret = crate :: icalls :: icallvarargs_ (method_bind , self . this . sys () . as_ptr () , varargs) ; ret } } } impl gdnative_core :: private :: godot_object :: Sealed for GDScript { } unsafe impl GodotObject for GDScript { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "GDScript" } } impl std :: ops :: Deref for GDScript { type Target = crate :: generated :: script :: Script ; # [inline] fn deref (& self) -> & crate :: generated :: script :: Script { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for GDScript { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: script :: Script { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: script :: Script > for GDScript { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for GDScript { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for GDScript { } unsafe impl SubClass < crate :: generated :: object :: Object > for GDScript { } impl Instanciable for GDScript { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { GDScript :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct GDScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_as_byte_code : * mut sys :: godot_method_bind , pub _new : * mut sys :: godot_method_bind } impl GDScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : GDScriptMethodTable = GDScriptMethodTable { class_constructor : None , get_as_byte_code : 0 as * mut sys :: godot_method_bind , _new : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { GDScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "GDScript\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_as_byte_code = (gd_api . godot_method_bind_get_method) (class_name , "get_as_byte_code\0" . as_ptr () as * const c_char) ; table . _new = (gd_api . godot_method_bind_get_method) (class_name , "new\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:160:11390
[INFO] [stdout]     |
[INFO] [stdout] 160 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 # [doc = "`core class Button` inherits `BaseButton` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_button.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Button` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Button>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nButton inherits methods from:\n - [BaseButton](struct.BaseButton.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Button { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TextAlign (pub i64) ; impl TextAlign { pub const LEFT : TextAlign = TextAlign (0i64) ; pub const CENTER : TextAlign = TextAlign (1i64) ; pub const RIGHT : TextAlign = TextAlign (2i64) ; } impl From < i64 > for TextAlign { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TextAlign > for i64 { # [inline] fn from (v : TextAlign) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Button { pub const ALIGN_CENTER : i64 = 1i64 ; pub const ALIGN_LEFT : i64 = 0i64 ; pub const ALIGN_RIGHT : i64 = 2i64 ; } impl Button { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ButtonMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Button's icon, if text is present the icon will be placed before the text."] # [doc = ""] # [inline] pub fn button_icon (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_button_icon ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text."] # [doc = ""] # [inline] pub fn clip_text (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_clip_text ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The button's text that will be displayed inside the button's area."] # [doc = ""] # [inline] pub fn text (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_text ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Text alignment policy for the button's text, use one of the [enum TextAlign] constants."] # [doc = ""] # [inline] pub fn text_align (& self) -> crate :: generated :: button :: TextAlign { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_text_align ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: button :: TextAlign (ret) } } # [doc = "When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect."] # [doc = ""] # [inline] pub fn is_expand_icon (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . is_expand_icon ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Flat buttons don't display decoration."] # [doc = ""] # [inline] pub fn is_flat (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . is_flat ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Button's icon, if text is present the icon will be placed before the text."] # [doc = ""] # [inline] pub fn set_button_icon (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_button_icon ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text."] # [doc = ""] # [inline] pub fn set_clip_text (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_clip_text ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect."] # [doc = ""] # [inline] pub fn set_expand_icon (& self , arg0 : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_expand_icon ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , arg0) ; } } # [doc = "Flat buttons don't display decoration."] # [doc = ""] # [inline] pub fn set_flat (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_flat ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The button's text that will be displayed inside the button's area."] # [doc = ""] # [inline] pub fn set_text (& self , text : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_text ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , text . into ()) ; } } # [doc = "Text alignment policy for the button's text, use one of the [enum TextAlign] constants."] # [doc = ""] # [inline] pub fn set_text_align (& self , align : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_text_align ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , align) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Button { } unsafe impl GodotObject for Button { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Button" } } impl QueueFree for Button { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Button { type Target = crate :: generated :: base_button :: BaseButton ; # [inline] fn deref (& self) -> & crate :: generated :: base_button :: BaseButton { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Button { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: base_button :: BaseButton { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: base_button :: BaseButton > for Button { } unsafe impl SubClass < crate :: generated :: control :: Control > for Button { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Button { } unsafe impl SubClass < crate :: generated :: node :: Node > for Button { } unsafe impl SubClass < crate :: generated :: object :: Object > for Button { } impl Instanciable for Button { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Button :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ButtonMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_button_icon : * mut sys :: godot_method_bind , pub get_clip_text : * mut sys :: godot_method_bind , pub get_text : * mut sys :: godot_method_bind , pub get_text_align : * mut sys :: godot_method_bind , pub is_expand_icon : * mut sys :: godot_method_bind , pub is_flat : * mut sys :: godot_method_bind , pub set_button_icon : * mut sys :: godot_method_bind , pub set_clip_text : * mut sys :: godot_method_bind , pub set_expand_icon : * mut sys :: godot_method_bind , pub set_flat : * mut sys :: godot_method_bind , pub set_text : * mut sys :: godot_method_bind , pub set_text_align : * mut sys :: godot_method_bind } impl ButtonMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ButtonMethodTable = ButtonMethodTable { class_constructor : None , get_button_icon : 0 as * mut sys :: godot_method_bind , get_clip_text : 0 as * mut sys :: godot_method_bind , get_text : 0 as * mut sys :: godot_method_bind , get_text_align : 0 as * mut sys :: godot_method_bind , is_expand_icon : 0 as * mut sys :: godot_method_bind , is_flat : 0 as * mut sys :: godot_method_bind , set_button_icon : 0 as * mut sys :: godot_method_bind , set_clip_text : 0 as * mut sys :: godot_method_bind , set_expand_icon : 0 as * mut sys :: godot_method_bind , set_flat : 0 as * mut sys :: godot_method_bind , set_text : 0 as * mut sys :: godot_method_bind , set_text_align : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ButtonMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Button\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_button_icon = (gd_api . godot_method_bind_get_method) (class_name , "get_button_icon\0" . as_ptr () as * const c_char) ; table . get_clip_text = (gd_api . godot_method_bind_get_method) (class_name , "get_clip_text\0" . as_ptr () as * const c_char) ; table . get_text = (gd_api . godot_method_bind_get_method) (class_name , "get_text\0" . as_ptr () as * const c_char) ; table . get_text_align = (gd_api . godot_method_bind_get_method) (class_name , "get_text_align\0" . as_ptr () as * const c_char) ; table . is_expand_icon = (gd_api . godot_method_bind_get_method) (class_name , "is_expand_icon\0" . as_ptr () as * const c_char) ; table . is_flat = (gd_api . godot_method_bind_get_method) (class_name , "is_flat\0" . as_ptr () as * const c_char) ; table . set_button_icon = (gd_api . godot_method_bind_get_method) (class_name , "set_button_icon\0" . as_ptr () as * const c_char) ; table . set_clip_text = (gd_api . godot_method_bind_get_method) (class_name , "set_clip_text\0" . as_ptr () as * const c_char) ; table . set_expand_icon = (gd_api . godot_method_bind_get_method) (class_name , "set_expand_icon\0" . as_ptr () as * const c_char) ; table . set_flat = (gd_api . godot_method_bind_get_method) (class_name , "set_flat\0" . as_ptr () as * const c_char) ; table . set_text = (gd_api . godot_method_bind_get_method) (class_name , "set_text\0" . as_ptr () as * const c_char) ; table . set_text_align = (gd_api . godot_method_bind_get_method) (class_name , "set_text_align\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:166:9210
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 # [doc = "`core class KinematicCollision2D` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_kinematiccollision2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nKinematicCollision2D inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct KinematicCollision2D { this : RawObject < Self > , } impl KinematicCollision2D { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = KinematicCollision2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The colliding body."] # [doc = ""] # [inline] pub fn collider (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's unique instance ID. See [method Object.get_instance_id]."] # [doc = ""] # [inline] pub fn collider_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding body's metadata. See [Object]."] # [doc = ""] # [inline] pub fn collider_metadata (& self) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_metadata ; let ret = crate :: icalls :: icallptr_var (method_bind , self . this . sys () . as_ptr ()) ; Variant :: from_sys (ret) } } # [doc = "The colliding body's shape."] # [doc = ""] # [inline] pub fn collider_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding shape's index. See [CollisionObject2D]."] # [doc = ""] # [inline] pub fn collider_shape_index (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_shape_index ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding object's velocity."] # [doc = ""] # [inline] pub fn collider_velocity (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_velocity ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's colliding shape."] # [doc = ""] # [inline] pub fn local_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_local_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's shape's normal at the point of collision."] # [doc = ""] # [inline] pub fn normal (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_normal ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The point of collision, in global coordinates."] # [doc = ""] # [inline] pub fn position (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_position ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's remaining movement vector."] # [doc = ""] # [inline] pub fn remainder (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_remainder ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The distance the moving object traveled before collision."] # [doc = ""] # [inline] pub fn travel (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_travel ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for KinematicCollision2D { } unsafe impl GodotObject for KinematicCollision2D { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "KinematicCollision2D" } } impl std :: ops :: Deref for KinematicCollision2D { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for KinematicCollision2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for KinematicCollision2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for KinematicCollision2D { } impl Instanciable for KinematicCollision2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { KinematicCollision2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct KinematicCollision2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_collider : * mut sys :: godot_method_bind , pub get_collider_id : * mut sys :: godot_method_bind , pub get_collider_metadata : * mut sys :: godot_method_bind , pub get_collider_shape : * mut sys :: godot_method_bind , pub get_collider_shape_index : * mut sys :: godot_method_bind , pub get_collider_velocity : * mut sys :: godot_method_bind , pub get_local_shape : * mut sys :: godot_method_bind , pub get_normal : * mut sys :: godot_method_bind , pub get_position : * mut sys :: godot_method_bind , pub get_remainder : * mut sys :: godot_method_bind , pub get_travel : * mut sys :: godot_method_bind } impl KinematicCollision2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : KinematicCollision2DMethodTable = KinematicCollision2DMethodTable { class_constructor : None , get_collider : 0 as * mut sys :: godot_method_bind , get_collider_id : 0 as * mut sys :: godot_method_bind , get_collider_metadata : 0 as * mut sys :: godot_method_bind , get_collider_shape : 0 as * mut sys :: godot_method_bind , get_collider_shape_index : 0 as * mut sys :: godot_method_bind , get_collider_velocity : 0 as * mut sys :: godot_method_bind , get_local_shape : 0 as * mut sys :: godot_method_bind , get_normal : 0 as * mut sys :: godot_method_bind , get_position : 0 as * mut sys :: godot_method_bind , get_remainder : 0 as * mut sys :: godot_method_bind , get_travel : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { KinematicCollision2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "KinematicCollision2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_collider = (gd_api . godot_method_bind_get_method) (class_name , "get_collider\0" . as_ptr () as * const c_char) ; table . get_collider_id = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_id\0" . as_ptr () as * const c_char) ; table . get_collider_metadata = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_metadata\0" . as_ptr () as * const c_char) ; table . get_collider_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape\0" . as_ptr () as * const c_char) ; table . get_collider_shape_index = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape_index\0" . as_ptr () as * const c_char) ; table . get_collider_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_velocity\0" . as_ptr () as * const c_char) ; table . get_local_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_local_shape\0" . as_ptr () as * const c_char) ; table . get_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_normal\0" . as_ptr () as * const c_char) ; table . get_position = (gd_api . godot_method_bind_get_method) (class_name , "get_position\0" . as_ptr () as * const c_char) ; table . get_remainder = (gd_api . godot_method_bind_get_method) (class_name , "get_remainder\0" . as_ptr () as * const c_char) ; table . get_travel = (gd_api . godot_method_bind_get_method) (class_name , "get_travel\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:172:12102
[INFO] [stdout]     |
[INFO] [stdout] 172 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 # [doc = "`core class UPNPDevice` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_upnpdevice.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nUPNPDevice inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct UPNPDevice { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct IgdStatus (pub i64) ; impl IgdStatus { pub const OK : IgdStatus = IgdStatus (0i64) ; pub const HTTP_ERROR : IgdStatus = IgdStatus (1i64) ; pub const HTTP_EMPTY : IgdStatus = IgdStatus (2i64) ; pub const NO_URLS : IgdStatus = IgdStatus (3i64) ; pub const NO_IGD : IgdStatus = IgdStatus (4i64) ; pub const DISCONNECTED : IgdStatus = IgdStatus (5i64) ; pub const UNKNOWN_DEVICE : IgdStatus = IgdStatus (6i64) ; pub const INVALID_CONTROL : IgdStatus = IgdStatus (7i64) ; pub const MALLOC_ERROR : IgdStatus = IgdStatus (8i64) ; pub const UNKNOWN_ERROR : IgdStatus = IgdStatus (9i64) ; } impl From < i64 > for IgdStatus { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < IgdStatus > for i64 { # [inline] fn from (v : IgdStatus) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl UPNPDevice { pub const IGD_STATUS_DISCONNECTED : i64 = 5i64 ; pub const IGD_STATUS_HTTP_EMPTY : i64 = 2i64 ; pub const IGD_STATUS_HTTP_ERROR : i64 = 1i64 ; pub const IGD_STATUS_INVALID_CONTROL : i64 = 7i64 ; pub const IGD_STATUS_MALLOC_ERROR : i64 = 8i64 ; pub const IGD_STATUS_NO_IGD : i64 = 4i64 ; pub const IGD_STATUS_NO_URLS : i64 = 3i64 ; pub const IGD_STATUS_OK : i64 = 0i64 ; pub const IGD_STATUS_UNKNOWN_DEVICE : i64 = 6i64 ; pub const IGD_STATUS_UNKNOWN_ERROR : i64 = 9i64 ; } impl UPNPDevice { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = UPNPDeviceMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn add_port_mapping (& self , port : i64 , port_internal : i64 , desc : impl Into < GodotString > , proto : impl Into < GodotString > , duration : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . add_port_mapping ; let ret = crate :: icalls :: icallptr_i64_i64_i64_str_str_i64 (method_bind , self . this . sys () . as_ptr () , port , port_internal , desc . into () , proto . into () , duration) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn delete_port_mapping (& self , port : i64 , proto : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . delete_port_mapping ; let ret = crate :: icalls :: icallptr_i64_i64_str (method_bind , self . this . sys () . as_ptr () , port , proto . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn description_url (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_description_url ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_control_url (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_control_url ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_our_addr (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_our_addr ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_service_type (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_service_type ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_status (& self) -> crate :: generated :: upnp_device :: IgdStatus { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: upnp_device :: IgdStatus (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn service_type (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_service_type ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_valid_gateway (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . is_valid_gateway ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn query_external_address (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . query_external_address ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_description_url (& self , url : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_description_url ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , url . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_control_url (& self , url : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_control_url ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , url . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_our_addr (& self , addr : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_our_addr ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , addr . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_service_type (& self , _type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_service_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , _type . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_status (& self , status : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_status ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , status) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_service_type (& self , _type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_service_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , _type . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for UPNPDevice { } unsafe impl GodotObject for UPNPDevice { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "UPNPDevice" } } impl std :: ops :: Deref for UPNPDevice { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for UPNPDevice { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for UPNPDevice { } unsafe impl SubClass < crate :: generated :: object :: Object > for UPNPDevice { } impl Instanciable for UPNPDevice { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { UPNPDevice :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct UPNPDeviceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_port_mapping : * mut sys :: godot_method_bind , pub delete_port_mapping : * mut sys :: godot_method_bind , pub get_description_url : * mut sys :: godot_method_bind , pub get_igd_control_url : * mut sys :: godot_method_bind , pub get_igd_our_addr : * mut sys :: godot_method_bind , pub get_igd_service_type : * mut sys :: godot_method_bind , pub get_igd_status : * mut sys :: godot_method_bind , pub get_service_type : * mut sys :: godot_method_bind , pub is_valid_gateway : * mut sys :: godot_method_bind , pub query_external_address : * mut sys :: godot_method_bind , pub set_description_url : * mut sys :: godot_method_bind , pub set_igd_control_url : * mut sys :: godot_method_bind , pub set_igd_our_addr : * mut sys :: godot_method_bind , pub set_igd_service_type : * mut sys :: godot_method_bind , pub set_igd_status : * mut sys :: godot_method_bind , pub set_service_type : * mut sys :: godot_method_bind } impl UPNPDeviceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : UPNPDeviceMethodTable = UPNPDeviceMethodTable { class_constructor : None , add_port_mapping : 0 as * mut sys :: godot_method_bind , delete_port_mapping : 0 as * mut sys :: godot_method_bind , get_description_url : 0 as * mut sys :: godot_method_bind , get_igd_control_url : 0 as * mut sys :: godot_method_bind , get_igd_our_addr : 0 as * mut sys :: godot_method_bind , get_igd_service_type : 0 as * mut sys :: godot_method_bind , get_igd_status : 0 as * mut sys :: godot_method_bind , get_service_type : 0 as * mut sys :: godot_method_bind , is_valid_gateway : 0 as * mut sys :: godot_method_bind , query_external_address : 0 as * mut sys :: godot_method_bind , set_description_url : 0 as * mut sys :: godot_method_bind , set_igd_control_url : 0 as * mut sys :: godot_method_bind , set_igd_our_addr : 0 as * mut sys :: godot_method_bind , set_igd_service_type : 0 as * mut sys :: godot_method_bind , set_igd_status : 0 as * mut sys :: godot_method_bind , set_service_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { UPNPDeviceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "UPNPDevice\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_port_mapping = (gd_api . godot_method_bind_get_method) (class_name , "add_port_mapping\0" . as_ptr () as * const c_char) ; table . delete_port_mapping = (gd_api . godot_method_bind_get_method) (class_name , "delete_port_mapping\0" . as_ptr () as * const c_char) ; table . get_description_url = (gd_api . godot_method_bind_get_method) (class_name , "get_description_url\0" . as_ptr () as * const c_char) ; table . get_igd_control_url = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_control_url\0" . as_ptr () as * const c_char) ; table . get_igd_our_addr = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_our_addr\0" . as_ptr () as * const c_char) ; table . get_igd_service_type = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_service_type\0" . as_ptr () as * const c_char) ; table . get_igd_status = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_status\0" . as_ptr () as * const c_char) ; table . get_service_type = (gd_api . godot_method_bind_get_method) (class_name , "get_service_type\0" . as_ptr () as * const c_char) ; table . is_valid_gateway = (gd_api . godot_method_bind_get_method) (class_name , "is_valid_gateway\0" . as_ptr () as * const c_char) ; table . query_external_address = (gd_api . godot_method_bind_get_method) (class_name , "query_external_address\0" . as_ptr () as * const c_char) ; table . set_description_url = (gd_api . godot_method_bind_get_method) (class_name , "set_description_url\0" . as_ptr () as * const c_char) ; table . set_igd_control_url = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_control_url\0" . as_ptr () as * const c_char) ; table . set_igd_our_addr = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_our_addr\0" . as_ptr () as * const c_char) ; table . set_igd_service_type = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_service_type\0" . as_ptr () as * const c_char) ; table . set_igd_status = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_status\0" . as_ptr () as * const c_char) ; table . set_service_type = (gd_api . godot_method_bind_get_method) (class_name , "set_service_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:178:27512
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 # [doc = "`tools class EditorPlugin` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorplugin.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nEditorPlugin inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorPlugin { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct CustomControlContainer (pub i64) ; impl CustomControlContainer { pub const TOOLBAR : CustomControlContainer = CustomControlContainer (0i64) ; pub const SPATIAL_EDITOR_MENU : CustomControlContainer = CustomControlContainer (1i64) ; pub const SPATIAL_EDITOR_SIDE_LEFT : CustomControlContainer = CustomControlContainer (2i64) ; pub const SPATIAL_EDITOR_SIDE_RIGHT : CustomControlContainer = CustomControlContainer (3i64) ; pub const SPATIAL_EDITOR_BOTTOM : CustomControlContainer = CustomControlContainer (4i64) ; pub const CANVAS_EDITOR_MENU : CustomControlContainer = CustomControlContainer (5i64) ; pub const CANVAS_EDITOR_SIDE_LEFT : CustomControlContainer = CustomControlContainer (6i64) ; pub const CANVAS_EDITOR_SIDE_RIGHT : CustomControlContainer = CustomControlContainer (7i64) ; pub const CANVAS_EDITOR_BOTTOM : CustomControlContainer = CustomControlContainer (8i64) ; pub const PROPERTY_EDITOR_BOTTOM : CustomControlContainer = CustomControlContainer (9i64) ; pub const PROJECT_SETTING_TAB_LEFT : CustomControlContainer = CustomControlContainer (10i64) ; pub const PROJECT_SETTING_TAB_RIGHT : CustomControlContainer = CustomControlContainer (11i64) ; } impl From < i64 > for CustomControlContainer { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < CustomControlContainer > for i64 { # [inline] fn from (v : CustomControlContainer) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct DockSlot (pub i64) ; impl DockSlot { pub const LEFT_UL : DockSlot = DockSlot (0i64) ; pub const LEFT_BL : DockSlot = DockSlot (1i64) ; pub const LEFT_UR : DockSlot = DockSlot (2i64) ; pub const LEFT_BR : DockSlot = DockSlot (3i64) ; pub const RIGHT_UL : DockSlot = DockSlot (4i64) ; pub const RIGHT_BL : DockSlot = DockSlot (5i64) ; pub const RIGHT_UR : DockSlot = DockSlot (6i64) ; pub const RIGHT_BR : DockSlot = DockSlot (7i64) ; pub const MAX : DockSlot = DockSlot (8i64) ; } impl From < i64 > for DockSlot { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < DockSlot > for i64 { # [inline] fn from (v : DockSlot) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl EditorPlugin { pub const CONTAINER_CANVAS_EDITOR_BOTTOM : i64 = 8i64 ; pub const CONTAINER_CANVAS_EDITOR_MENU : i64 = 5i64 ; pub const CONTAINER_CANVAS_EDITOR_SIDE_LEFT : i64 = 6i64 ; pub const CONTAINER_CANVAS_EDITOR_SIDE_RIGHT : i64 = 7i64 ; pub const CONTAINER_PROJECT_SETTING_TAB_LEFT : i64 = 10i64 ; pub const CONTAINER_PROJECT_SETTING_TAB_RIGHT : i64 = 11i64 ; pub const CONTAINER_PROPERTY_EDITOR_BOTTOM : i64 = 9i64 ; pub const CONTAINER_SPATIAL_EDITOR_BOTTOM : i64 = 4i64 ; pub const CONTAINER_SPATIAL_EDITOR_MENU : i64 = 1i64 ; pub const CONTAINER_SPATIAL_EDITOR_SIDE_LEFT : i64 = 2i64 ; pub const CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT : i64 = 3i64 ; pub const CONTAINER_TOOLBAR : i64 = 0i64 ; pub const DOCK_SLOT_LEFT_BL : i64 = 1i64 ; pub const DOCK_SLOT_LEFT_BR : i64 = 3i64 ; pub const DOCK_SLOT_LEFT_UL : i64 = 0i64 ; pub const DOCK_SLOT_LEFT_UR : i64 = 2i64 ; pub const DOCK_SLOT_MAX : i64 = 8i64 ; pub const DOCK_SLOT_RIGHT_BL : i64 = 5i64 ; pub const DOCK_SLOT_RIGHT_BR : i64 = 7i64 ; pub const DOCK_SLOT_RIGHT_UL : i64 = 4i64 ; pub const DOCK_SLOT_RIGHT_UR : i64 = 6i64 ; } impl EditorPlugin { # [doc = "Adds a script at `path` to the Autoload list as `name`."] # [doc = ""] # [inline] pub fn add_autoload_singleton (& self , name : impl Into < GodotString > , path : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_autoload_singleton ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , name . into () , path . into ()) ; } } # [doc = "Adds a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It's up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_bottom_panel] and free it with [method Node.queue_free]."] # [doc = ""] # [inline] pub fn add_control_to_bottom_panel (& self , control : impl AsArg < crate :: generated :: control :: Control > , title : impl Into < GodotString >) -> Option < Ref < crate :: generated :: tool_button :: ToolButton , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_control_to_bottom_panel ; let ret = crate :: icalls :: icallptr_obj_obj_str (method_bind , self . this . sys () . as_ptr () , control . as_arg_ptr () , title . into ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: tool_button :: ToolButton , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Adds a custom control to a container (see [enum CustomControlContainer]). There are many locations where custom controls can be added in the editor UI.\nPlease remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it).\nWhen your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_container] and free it with [method Node.queue_free]."] # [doc = ""] # [inline] pub fn add_control_to_container (& self , container : i64 , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_control_to_container ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , container , control . as_arg_ptr ()) ; } } # [doc = "Adds the control to a specific dock slot (see [enum DockSlot] for options).\nIf the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions.\nWhen your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_docks] and free it with [method Node.queue_free]."] # [doc = ""] # [inline] pub fn add_control_to_dock (& self , slot : i64 , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_control_to_dock ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , slot , control . as_arg_ptr ()) ; } } # [doc = "Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.\nWhen given node or resource is selected, the base type will be instanced (ie, \"Spatial\", \"Control\", \"Resource\"), then the script will be loaded and set to this object.\nYou can use the virtual method [method handles] to check if your custom object is being edited by checking the script or using the `is` keyword.\nDuring run-time, this will be a simple object with a script so this function does not need to be called then."] # [doc = ""] # [inline] pub fn add_custom_type (& self , _type : impl Into < GodotString > , base : impl Into < GodotString > , script : impl AsArg < crate :: generated :: script :: Script > , icon : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_custom_type ; let ret = crate :: icalls :: icallptr_void_str_str_obj_obj (method_bind , self . this . sys () . as_ptr () , _type . into () , base . into () , script . as_arg_ptr () , icon . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_export_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_export_plugin :: EditorExportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_export_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_import_plugin (& self , importer : impl AsArg < crate :: generated :: editor_import_plugin :: EditorImportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_inspector_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_inspector_plugin :: EditorInspectorPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_inspector_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_scene_import_plugin (& self , scene_importer : impl AsArg < crate :: generated :: editor_scene_importer :: EditorSceneImporter >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_scene_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , scene_importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_spatial_gizmo_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_spatial_gizmo_plugin :: EditorSpatialGizmoPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_spatial_gizmo_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = "Adds a custom menu item to **Project > Tools** as `name` that calls `callback` on an instance of `handler` with a parameter `ud` when user activates it.\n# Default Arguments\n* `ud` - `null`"] # [doc = ""] # [inline] pub fn add_tool_menu_item (& self , name : impl Into < GodotString > , handler : impl AsArg < crate :: generated :: object :: Object > , callback : impl Into < GodotString > , ud : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_tool_menu_item ; let ret = crate :: icalls :: icallptr_void_str_obj_str_var (method_bind , self . this . sys () . as_ptr () , name . into () , handler . as_arg_ptr () , callback . into () , ud . owned_to_variant ()) ; } } # [doc = "Adds a custom submenu under **Project > Tools >** `name`. `submenu` should be an object of class [PopupMenu]. This submenu should be cleaned up using `remove_tool_menu_item(name)`."] # [doc = ""] # [inline] pub fn add_tool_submenu_item (& self , name : impl Into < GodotString > , submenu : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_tool_submenu_item ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , name . into () , submenu . as_arg_ptr ()) ; } } # [doc = "Returns the [EditorInterface] object that gives you control over Godot editor's window and its functionalities."] # [doc = ""] # [inline] pub fn get_editor_interface (& self) -> Option < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . get_editor_interface ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Gets the Editor's dialogue used for making scripts.\n**Note:** Users can configure it before use."] # [doc = ""] # [inline] pub fn get_script_create_dialog (& self) -> Option < Ref < crate :: generated :: script_create_dialog :: ScriptCreateDialog , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . get_script_create_dialog ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: script_create_dialog :: ScriptCreateDialog , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Gets the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it's worth it."] # [doc = ""] # [inline] pub fn get_undo_redo (& self) -> Option < Ref < crate :: generated :: undo_redo :: UndoRedo , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . get_undo_redo ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: undo_redo :: UndoRedo , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn hide_bottom_panel (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . hide_bottom_panel ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn make_bottom_panel_item_visible (& self , item : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . make_bottom_panel_item_visible ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , item . as_arg_ptr ()) ; } } # [doc = "Queue save the project's editor layout."] # [doc = ""] # [inline] pub fn queue_save_layout (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . queue_save_layout ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Removes an Autoload `name` from the list."] # [doc = ""] # [inline] pub fn remove_autoload_singleton (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_autoload_singleton ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "Removes the control from the bottom panel. You have to manually [method Node.queue_free] the control."] # [doc = ""] # [inline] pub fn remove_control_from_bottom_panel (& self , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_control_from_bottom_panel ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , control . as_arg_ptr ()) ; } } # [doc = "Removes the control from the specified container. You have to manually [method Node.queue_free] the control."] # [doc = ""] # [inline] pub fn remove_control_from_container (& self , container : i64 , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_control_from_container ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , container , control . as_arg_ptr ()) ; } } # [doc = "Removes the control from the dock. You have to manually [method Node.queue_free] the control."] # [doc = ""] # [inline] pub fn remove_control_from_docks (& self , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_control_from_docks ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , control . as_arg_ptr ()) ; } } # [doc = "Removes a custom type added by [method add_custom_type]."] # [doc = ""] # [inline] pub fn remove_custom_type (& self , _type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_custom_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , _type . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_export_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_export_plugin :: EditorExportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_export_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_import_plugin (& self , importer : impl AsArg < crate :: generated :: editor_import_plugin :: EditorImportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_inspector_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_inspector_plugin :: EditorInspectorPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_inspector_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_scene_import_plugin (& self , scene_importer : impl AsArg < crate :: generated :: editor_scene_importer :: EditorSceneImporter >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_scene_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , scene_importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_spatial_gizmo_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_spatial_gizmo_plugin :: EditorSpatialGizmoPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_spatial_gizmo_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = "Removes a menu `name` from **Project > Tools**."] # [doc = ""] # [inline] pub fn remove_tool_menu_item (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_tool_menu_item ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_force_draw_over_forwarding_enabled (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . set_force_draw_over_forwarding_enabled ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Use this method if you always want to receive inputs from 3D view screen inside [method forward_spatial_gui_input]. It might be especially usable if your plugin will want to use raycast in the scene."] # [doc = ""] # [inline] pub fn set_input_event_forwarding_always_enabled (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . set_input_event_forwarding_always_enabled ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Updates the overlays of the editor (2D/3D) viewport."] # [doc = ""] # [inline] pub fn update_overlays (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . update_overlays ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorPlugin { } unsafe impl GodotObject for EditorPlugin { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "EditorPlugin" } } impl QueueFree for EditorPlugin { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for EditorPlugin { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorPlugin { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for EditorPlugin { } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorPlugin { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorPluginMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_autoload_singleton : * mut sys :: godot_method_bind , pub add_control_to_bottom_panel : * mut sys :: godot_method_bind , pub add_control_to_container : * mut sys :: godot_method_bind , pub add_control_to_dock : * mut sys :: godot_method_bind , pub add_custom_type : * mut sys :: godot_method_bind , pub add_export_plugin : * mut sys :: godot_method_bind , pub add_import_plugin : * mut sys :: godot_method_bind , pub add_inspector_plugin : * mut sys :: godot_method_bind , pub add_scene_import_plugin : * mut sys :: godot_method_bind , pub add_spatial_gizmo_plugin : * mut sys :: godot_method_bind , pub add_tool_menu_item : * mut sys :: godot_method_bind , pub add_tool_submenu_item : * mut sys :: godot_method_bind , pub get_editor_interface : * mut sys :: godot_method_bind , pub get_script_create_dialog : * mut sys :: godot_method_bind , pub get_undo_redo : * mut sys :: godot_method_bind , pub hide_bottom_panel : * mut sys :: godot_method_bind , pub make_bottom_panel_item_visible : * mut sys :: godot_method_bind , pub queue_save_layout : * mut sys :: godot_method_bind , pub remove_autoload_singleton : * mut sys :: godot_method_bind , pub remove_control_from_bottom_panel : * mut sys :: godot_method_bind , pub remove_control_from_container : * mut sys :: godot_method_bind , pub remove_control_from_docks : * mut sys :: godot_method_bind , pub remove_custom_type : * mut sys :: godot_method_bind , pub remove_export_plugin : * mut sys :: godot_method_bind , pub remove_import_plugin : * mut sys :: godot_method_bind , pub remove_inspector_plugin : * mut sys :: godot_method_bind , pub remove_scene_import_plugin : * mut sys :: godot_method_bind , pub remove_spatial_gizmo_plugin : * mut sys :: godot_method_bind , pub remove_tool_menu_item : * mut sys :: godot_method_bind , pub set_force_draw_over_forwarding_enabled : * mut sys :: godot_method_bind , pub set_input_event_forwarding_always_enabled : * mut sys :: godot_method_bind , pub update_overlays : * mut sys :: godot_method_bind } impl EditorPluginMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorPluginMethodTable = EditorPluginMethodTable { class_constructor : None , add_autoload_singleton : 0 as * mut sys :: godot_method_bind , add_control_to_bottom_panel : 0 as * mut sys :: godot_method_bind , add_control_to_container : 0 as * mut sys :: godot_method_bind , add_control_to_dock : 0 as * mut sys :: godot_method_bind , add_custom_type : 0 as * mut sys :: godot_method_bind , add_export_plugin : 0 as * mut sys :: godot_method_bind , add_import_plugin : 0 as * mut sys :: godot_method_bind , add_inspector_plugin : 0 as * mut sys :: godot_method_bind , add_scene_import_plugin : 0 as * mut sys :: godot_method_bind , add_spatial_gizmo_plugin : 0 as * mut sys :: godot_method_bind , add_tool_menu_item : 0 as * mut sys :: godot_method_bind , add_tool_submenu_item : 0 as * mut sys :: godot_method_bind , get_editor_interface : 0 as * mut sys :: godot_method_bind , get_script_create_dialog : 0 as * mut sys :: godot_method_bind , get_undo_redo : 0 as * mut sys :: godot_method_bind , hide_bottom_panel : 0 as * mut sys :: godot_method_bind , make_bottom_panel_item_visible : 0 as * mut sys :: godot_method_bind , queue_save_layout : 0 as * mut sys :: godot_method_bind , remove_autoload_singleton : 0 as * mut sys :: godot_method_bind , remove_control_from_bottom_panel : 0 as * mut sys :: godot_method_bind , remove_control_from_container : 0 as * mut sys :: godot_method_bind , remove_control_from_docks : 0 as * mut sys :: godot_method_bind , remove_custom_type : 0 as * mut sys :: godot_method_bind , remove_export_plugin : 0 as * mut sys :: godot_method_bind , remove_import_plugin : 0 as * mut sys :: godot_method_bind , remove_inspector_plugin : 0 as * mut sys :: godot_method_bind , remove_scene_import_plugin : 0 as * mut sys :: godot_method_bind , remove_spatial_gizmo_plugin : 0 as * mut sys :: godot_method_bind , remove_tool_menu_item : 0 as * mut sys :: godot_method_bind , set_force_draw_over_forwarding_enabled : 0 as * mut sys :: godot_method_bind , set_input_event_forwarding_always_enabled : 0 as * mut sys :: godot_method_bind , update_overlays : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorPluginMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorPlugin\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_autoload_singleton = (gd_api . godot_method_bind_get_method) (class_name , "add_autoload_singleton\0" . as_ptr () as * const c_char) ; table . add_control_to_bottom_panel = (gd_api . godot_method_bind_get_method) (class_name , "add_control_to_bottom_panel\0" . as_ptr () as * const c_char) ; table . add_control_to_container = (gd_api . godot_method_bind_get_method) (class_name , "add_control_to_container\0" . as_ptr () as * const c_char) ; table . add_control_to_dock = (gd_api . godot_method_bind_get_method) (class_name , "add_control_to_dock\0" . as_ptr () as * const c_char) ; table . add_custom_type = (gd_api . godot_method_bind_get_method) (class_name , "add_custom_type\0" . as_ptr () as * const c_char) ; table . add_export_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_export_plugin\0" . as_ptr () as * const c_char) ; table . add_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_import_plugin\0" . as_ptr () as * const c_char) ; table . add_inspector_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_inspector_plugin\0" . as_ptr () as * const c_char) ; table . add_scene_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_scene_import_plugin\0" . as_ptr () as * const c_char) ; table . add_spatial_gizmo_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_spatial_gizmo_plugin\0" . as_ptr () as * const c_char) ; table . add_tool_menu_item = (gd_api . godot_method_bind_get_method) (class_name , "add_tool_menu_item\0" . as_ptr () as * const c_char) ; table . add_tool_submenu_item = (gd_api . godot_method_bind_get_method) (class_name , "add_tool_submenu_item\0" . as_ptr () as * const c_char) ; table . get_editor_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_editor_interface\0" . as_ptr () as * const c_char) ; table . get_script_create_dialog = (gd_api . godot_method_bind_get_method) (class_name , "get_script_create_dialog\0" . as_ptr () as * const c_char) ; table . get_undo_redo = (gd_api . godot_method_bind_get_method) (class_name , "get_undo_redo\0" . as_ptr () as * const c_char) ; table . hide_bottom_panel = (gd_api . godot_method_bind_get_method) (class_name , "hide_bottom_panel\0" . as_ptr () as * const c_char) ; table . make_bottom_panel_item_visible = (gd_api . godot_method_bind_get_method) (class_name , "make_bottom_panel_item_visible\0" . as_ptr () as * const c_char) ; table . queue_save_layout = (gd_api . godot_method_bind_get_method) (class_name , "queue_save_layout\0" . as_ptr () as * const c_char) ; table . remove_autoload_singleton = (gd_api . godot_method_bind_get_method) (class_name , "remove_autoload_singleton\0" . as_ptr () as * const c_char) ; table . remove_control_from_bottom_panel = (gd_api . godot_method_bind_get_method) (class_name , "remove_control_from_bottom_panel\0" . as_ptr () as * const c_char) ; table . remove_control_from_container = (gd_api . godot_method_bind_get_method) (class_name , "remove_control_from_container\0" . as_ptr () as * const c_char) ; table . remove_control_from_docks = (gd_api . godot_method_bind_get_method) (class_name , "remove_control_from_docks\0" . as_ptr () as * const c_char) ; table . remove_custom_type = (gd_api . godot_method_bind_get_method) (class_name , "remove_custom_type\0" . as_ptr () as * const c_char) ; table . remove_export_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_export_plugin\0" . as_ptr () as * const c_char) ; table . remove_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_import_plugin\0" . as_ptr () as * const c_char) ; table . remove_inspector_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_inspector_plugin\0" . as_ptr () as * const c_char) ; table . remove_scene_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_scene_import_plugin\0" . as_ptr () as * const c_char) ; table . remove_spatial_gizmo_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_spatial_gizmo_plugin\0" . as_ptr () as * const c_char) ; table . remove_tool_menu_item = (gd_api . godot_method_bind_get_method) (class_name , "remove_tool_menu_item\0" . as_ptr () as * const c_char) ; table . set_force_draw_over_forwarding_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_force_draw_over_forwarding_enabled\0" . as_ptr () as * const c_char) ; table . set_input_event_forwarding_always_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_input_event_forwarding_always_enabled\0" . as_ptr () as * const c_char) ; table . update_overlays = (gd_api . godot_method_bind_get_method) (class_name , "update_overlays\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:184:9585
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 # [doc = "`core class NetworkedMultiplayerPeer` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_networkedmultiplayerpeer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nNetworkedMultiplayerPeer inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct NetworkedMultiplayerPeer { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ConnectionStatus (pub i64) ; impl ConnectionStatus { pub const DISCONNECTED : ConnectionStatus = ConnectionStatus (0i64) ; pub const CONNECTING : ConnectionStatus = ConnectionStatus (1i64) ; pub const CONNECTED : ConnectionStatus = ConnectionStatus (2i64) ; } impl From < i64 > for ConnectionStatus { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ConnectionStatus > for i64 { # [inline] fn from (v : ConnectionStatus) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TransferMode (pub i64) ; impl TransferMode { pub const UNRELIABLE : TransferMode = TransferMode (0i64) ; pub const UNRELIABLE_ORDERED : TransferMode = TransferMode (1i64) ; pub const RELIABLE : TransferMode = TransferMode (2i64) ; } impl From < i64 > for TransferMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TransferMode > for i64 { # [inline] fn from (v : TransferMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl NetworkedMultiplayerPeer { pub const CONNECTION_CONNECTED : i64 = 2i64 ; pub const CONNECTION_CONNECTING : i64 = 1i64 ; pub const CONNECTION_DISCONNECTED : i64 = 0i64 ; pub const TARGET_PEER_BROADCAST : i64 = 0i64 ; pub const TARGET_PEER_SERVER : i64 = 1i64 ; pub const TRANSFER_MODE_RELIABLE : i64 = 2i64 ; pub const TRANSFER_MODE_UNRELIABLE : i64 = 0i64 ; pub const TRANSFER_MODE_UNRELIABLE_ORDERED : i64 = 1i64 ; } impl NetworkedMultiplayerPeer { # [doc = "Returns the current state of the connection. See [enum ConnectionStatus]."] # [doc = ""] # [inline] pub fn get_connection_status (& self) -> crate :: generated :: networked_multiplayer_peer :: ConnectionStatus { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_connection_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: networked_multiplayer_peer :: ConnectionStatus (ret) } } # [doc = "Returns the ID of the [NetworkedMultiplayerPeer] who sent the most recent packet."] # [doc = ""] # [inline] pub fn get_packet_peer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_packet_peer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The manner in which to send packets to the `target_peer`. See [enum TransferMode]."] # [doc = ""] # [inline] pub fn transfer_mode (& self) -> crate :: generated :: networked_multiplayer_peer :: TransferMode { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_transfer_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: networked_multiplayer_peer :: TransferMode (ret) } } # [doc = "Returns the ID of this [NetworkedMultiplayerPeer]."] # [doc = ""] # [inline] pub fn get_unique_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_unique_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, this [NetworkedMultiplayerPeer] refuses new connections."] # [doc = ""] # [inline] pub fn is_refusing_new_connections (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . is_refusing_new_connections ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Waits up to 1 second to receive a new network event."] # [doc = ""] # [inline] pub fn poll (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, this [NetworkedMultiplayerPeer] refuses new connections."] # [doc = ""] # [inline] pub fn set_refuse_new_connections (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . set_refuse_new_connections ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Sets the peer to which packets will be sent.\nThe `id` can be one of: [constant TARGET_PEER_BROADCAST] to send to all connected peers, [constant TARGET_PEER_SERVER] to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. By default, the target peer is [constant TARGET_PEER_BROADCAST]."] # [doc = ""] # [inline] pub fn set_target_peer (& self , id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . set_target_peer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , id) ; } } # [doc = "The manner in which to send packets to the `target_peer`. See [enum TransferMode]."] # [doc = ""] # [inline] pub fn set_transfer_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . set_transfer_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for NetworkedMultiplayerPeer { } unsafe impl GodotObject for NetworkedMultiplayerPeer { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "NetworkedMultiplayerPeer" } } impl std :: ops :: Deref for NetworkedMultiplayerPeer { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for NetworkedMultiplayerPeer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for NetworkedMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for NetworkedMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: object :: Object > for NetworkedMultiplayerPeer { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct NetworkedMultiplayerPeerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_connection_status : * mut sys :: godot_method_bind , pub get_packet_peer : * mut sys :: godot_method_bind , pub get_transfer_mode : * mut sys :: godot_method_bind , pub get_unique_id : * mut sys :: godot_method_bind , pub is_refusing_new_connections : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind , pub set_refuse_new_connections : * mut sys :: godot_method_bind , pub set_target_peer : * mut sys :: godot_method_bind , pub set_transfer_mode : * mut sys :: godot_method_bind } impl NetworkedMultiplayerPeerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : NetworkedMultiplayerPeerMethodTable = NetworkedMultiplayerPeerMethodTable { class_constructor : None , get_connection_status : 0 as * mut sys :: godot_method_bind , get_packet_peer : 0 as * mut sys :: godot_method_bind , get_transfer_mode : 0 as * mut sys :: godot_method_bind , get_unique_id : 0 as * mut sys :: godot_method_bind , is_refusing_new_connections : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind , set_refuse_new_connections : 0 as * mut sys :: godot_method_bind , set_target_peer : 0 as * mut sys :: godot_method_bind , set_transfer_mode : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { NetworkedMultiplayerPeerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "NetworkedMultiplayerPeer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_connection_status = (gd_api . godot_method_bind_get_method) (class_name , "get_connection_status\0" . as_ptr () as * const c_char) ; table . get_packet_peer = (gd_api . godot_method_bind_get_method) (class_name , "get_packet_peer\0" . as_ptr () as * const c_char) ; table . get_transfer_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_transfer_mode\0" . as_ptr () as * const c_char) ; table . get_unique_id = (gd_api . godot_method_bind_get_method) (class_name , "get_unique_id\0" . as_ptr () as * const c_char) ; table . is_refusing_new_connections = (gd_api . godot_method_bind_get_method) (class_name , "is_refusing_new_connections\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; table . set_refuse_new_connections = (gd_api . godot_method_bind_get_method) (class_name , "set_refuse_new_connections\0" . as_ptr () as * const c_char) ; table . set_target_peer = (gd_api . godot_method_bind_get_method) (class_name , "set_target_peer\0" . as_ptr () as * const c_char) ; table . set_transfer_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_transfer_mode\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:190:13763
[INFO] [stdout]     |
[INFO] [stdout] 190 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 # [doc = "`core class PathFollow2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_pathfollow2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`PathFollow2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<PathFollow2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPathFollow2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PathFollow2D { this : RawObject < Self > , } impl PathFollow2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PathFollow2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve2D] of the [Path2D] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn cubic_interpolation (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_cubic_interpolation ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn h_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_h_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "How far to look ahead of the curve to calculate the tangent if the node is rotating. E.g. shorter lookaheads will lead to faster rotations."] # [doc = ""] # [inline] pub fn lookahead (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_lookahead ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The distance along the path in pixels."] # [doc = ""] # [inline] pub fn offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last). This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn unit_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_unit_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn v_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_v_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn has_loop (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . has_loop ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, this node rotates to follow the path, making its descendants rotate."] # [doc = ""] # [inline] pub fn is_rotating (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . is_rotating ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve2D] of the [Path2D] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn set_cubic_interpolation (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_cubic_interpolation ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn set_h_offset (& self , h_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_h_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , h_offset) ; } } # [doc = "How far to look ahead of the curve to calculate the tangent if the node is rotating. E.g. shorter lookaheads will lead to faster rotations."] # [doc = ""] # [inline] pub fn set_lookahead (& self , lookahead : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_lookahead ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , lookahead) ; } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn set_loop (& self , _loop : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_loop ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , _loop) ; } } # [doc = "The distance along the path in pixels."] # [doc = ""] # [inline] pub fn set_offset (& self , offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "If `true`, this node rotates to follow the path, making its descendants rotate."] # [doc = ""] # [inline] pub fn set_rotate (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_rotate ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last). This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn set_unit_offset (& self , unit_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_unit_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , unit_offset) ; } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn set_v_offset (& self , v_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_v_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , v_offset) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PathFollow2D { } unsafe impl GodotObject for PathFollow2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "PathFollow2D" } } impl QueueFree for PathFollow2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for PathFollow2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PathFollow2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for PathFollow2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for PathFollow2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for PathFollow2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for PathFollow2D { } impl Instanciable for PathFollow2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PathFollow2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PathFollow2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cubic_interpolation : * mut sys :: godot_method_bind , pub get_h_offset : * mut sys :: godot_method_bind , pub get_lookahead : * mut sys :: godot_method_bind , pub get_offset : * mut sys :: godot_method_bind , pub get_unit_offset : * mut sys :: godot_method_bind , pub get_v_offset : * mut sys :: godot_method_bind , pub has_loop : * mut sys :: godot_method_bind , pub is_rotating : * mut sys :: godot_method_bind , pub set_cubic_interpolation : * mut sys :: godot_method_bind , pub set_h_offset : * mut sys :: godot_method_bind , pub set_lookahead : * mut sys :: godot_method_bind , pub set_loop : * mut sys :: godot_method_bind , pub set_offset : * mut sys :: godot_method_bind , pub set_rotate : * mut sys :: godot_method_bind , pub set_unit_offset : * mut sys :: godot_method_bind , pub set_v_offset : * mut sys :: godot_method_bind } impl PathFollow2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PathFollow2DMethodTable = PathFollow2DMethodTable { class_constructor : None , get_cubic_interpolation : 0 as * mut sys :: godot_method_bind , get_h_offset : 0 as * mut sys :: godot_method_bind , get_lookahead : 0 as * mut sys :: godot_method_bind , get_offset : 0 as * mut sys :: godot_method_bind , get_unit_offset : 0 as * mut sys :: godot_method_bind , get_v_offset : 0 as * mut sys :: godot_method_bind , has_loop : 0 as * mut sys :: godot_method_bind , is_rotating : 0 as * mut sys :: godot_method_bind , set_cubic_interpolation : 0 as * mut sys :: godot_method_bind , set_h_offset : 0 as * mut sys :: godot_method_bind , set_lookahead : 0 as * mut sys :: godot_method_bind , set_loop : 0 as * mut sys :: godot_method_bind , set_offset : 0 as * mut sys :: godot_method_bind , set_rotate : 0 as * mut sys :: godot_method_bind , set_unit_offset : 0 as * mut sys :: godot_method_bind , set_v_offset : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PathFollow2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PathFollow2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "get_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . get_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_h_offset\0" . as_ptr () as * const c_char) ; table . get_lookahead = (gd_api . godot_method_bind_get_method) (class_name , "get_lookahead\0" . as_ptr () as * const c_char) ; table . get_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_offset\0" . as_ptr () as * const c_char) ; table . get_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_unit_offset\0" . as_ptr () as * const c_char) ; table . get_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_v_offset\0" . as_ptr () as * const c_char) ; table . has_loop = (gd_api . godot_method_bind_get_method) (class_name , "has_loop\0" . as_ptr () as * const c_char) ; table . is_rotating = (gd_api . godot_method_bind_get_method) (class_name , "is_rotating\0" . as_ptr () as * const c_char) ; table . set_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "set_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . set_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_h_offset\0" . as_ptr () as * const c_char) ; table . set_lookahead = (gd_api . godot_method_bind_get_method) (class_name , "set_lookahead\0" . as_ptr () as * const c_char) ; table . set_loop = (gd_api . godot_method_bind_get_method) (class_name , "set_loop\0" . as_ptr () as * const c_char) ; table . set_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_offset\0" . as_ptr () as * const c_char) ; table . set_rotate = (gd_api . godot_method_bind_get_method) (class_name , "set_rotate\0" . as_ptr () as * const c_char) ; table . set_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_unit_offset\0" . as_ptr () as * const c_char) ; table . set_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_v_offset\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:196:13139
[INFO] [stdout]     |
[INFO] [stdout] 196 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 # [doc = "`core class AnimationTree` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationtree.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`AnimationTree` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<AnimationTree>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nAnimationTree inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationTree { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct AnimationProcessMode (pub i64) ; impl AnimationProcessMode { pub const PHYSICS : AnimationProcessMode = AnimationProcessMode (0i64) ; pub const IDLE : AnimationProcessMode = AnimationProcessMode (1i64) ; pub const MANUAL : AnimationProcessMode = AnimationProcessMode (2i64) ; } impl From < i64 > for AnimationProcessMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < AnimationProcessMode > for i64 { # [inline] fn from (v : AnimationProcessMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AnimationTree { pub const ANIMATION_PROCESS_IDLE : i64 = 1i64 ; pub const ANIMATION_PROCESS_MANUAL : i64 = 2i64 ; pub const ANIMATION_PROCESS_PHYSICS : i64 = 0i64 ; } impl AnimationTree { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationTreeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Manually advance the animations by the specified time (in seconds)."] # [doc = ""] # [inline] pub fn advance (& self , delta : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . advance ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , delta) ; } } # [doc = "The path to the [AnimationPlayer] used for animating."] # [doc = ""] # [inline] pub fn animation_player (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_animation_player ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "The process mode of this [AnimationTree]. See [enum AnimationProcessMode] for available modes."] # [doc = ""] # [inline] pub fn process_mode (& self) -> crate :: generated :: animation_tree :: AnimationProcessMode { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_process_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: animation_tree :: AnimationProcessMode (ret) } } # [doc = "The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by `\":\"`. For example, `\"character/skeleton:ankle\"` or `\"character/mesh:transform/local\"`.\nIf the track has type [constant Animation.TYPE_TRANSFORM], the transformation will be cancelled visually, and the animation will appear to stay in place."] # [doc = ""] # [inline] pub fn root_motion_track (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_root_motion_track ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "Retrieve the motion of the [member root_motion_track] as a [Transform] that can be used elsewhere. If [member root_motion_track] is not a path to a track of type [constant Animation.TYPE_TRANSFORM], returns an identity transformation."] # [doc = ""] # [inline] pub fn get_root_motion_transform (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_root_motion_transform ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The root animation node of this [AnimationTree]. See [AnimationNode]."] # [doc = ""] # [inline] pub fn tree_root (& self) -> Option < Ref < crate :: generated :: animation_node :: AnimationNode , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_tree_root ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: animation_node :: AnimationNode , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "If `true`, the [AnimationTree] will be processing."] # [doc = ""] # [inline] pub fn is_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . is_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn rename_parameter (& self , old_name : impl Into < GodotString > , new_name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . rename_parameter ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , old_name . into () , new_name . into ()) ; } } # [doc = "If `true`, the [AnimationTree] will be processing."] # [doc = ""] # [inline] pub fn set_active (& self , active : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_active ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , active) ; } } # [doc = "The path to the [AnimationPlayer] used for animating."] # [doc = ""] # [inline] pub fn set_animation_player (& self , root : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_animation_player ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , root . into ()) ; } } # [doc = "The process mode of this [AnimationTree]. See [enum AnimationProcessMode] for available modes."] # [doc = ""] # [inline] pub fn set_process_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_process_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by `\":\"`. For example, `\"character/skeleton:ankle\"` or `\"character/mesh:transform/local\"`.\nIf the track has type [constant Animation.TYPE_TRANSFORM], the transformation will be cancelled visually, and the animation will appear to stay in place."] # [doc = ""] # [inline] pub fn set_root_motion_track (& self , path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_root_motion_track ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , path . into ()) ; } } # [doc = "The root animation node of this [AnimationTree]. See [AnimationNode]."] # [doc = ""] # [inline] pub fn set_tree_root (& self , root : impl AsArg < crate :: generated :: animation_node :: AnimationNode >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_tree_root ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , root . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationTree { } unsafe impl GodotObject for AnimationTree { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "AnimationTree" } } impl QueueFree for AnimationTree { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for AnimationTree { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationTree { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for AnimationTree { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationTree { } impl Instanciable for AnimationTree { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationTree :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationTreeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub advance : * mut sys :: godot_method_bind , pub get_animation_player : * mut sys :: godot_method_bind , pub get_process_mode : * mut sys :: godot_method_bind , pub get_root_motion_track : * mut sys :: godot_method_bind , pub get_root_motion_transform : * mut sys :: godot_method_bind , pub get_tree_root : * mut sys :: godot_method_bind , pub is_active : * mut sys :: godot_method_bind , pub rename_parameter : * mut sys :: godot_method_bind , pub set_active : * mut sys :: godot_method_bind , pub set_animation_player : * mut sys :: godot_method_bind , pub set_process_mode : * mut sys :: godot_method_bind , pub set_root_motion_track : * mut sys :: godot_method_bind , pub set_tree_root : * mut sys :: godot_method_bind } impl AnimationTreeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationTreeMethodTable = AnimationTreeMethodTable { class_constructor : None , advance : 0 as * mut sys :: godot_method_bind , get_animation_player : 0 as * mut sys :: godot_method_bind , get_process_mode : 0 as * mut sys :: godot_method_bind , get_root_motion_track : 0 as * mut sys :: godot_method_bind , get_root_motion_transform : 0 as * mut sys :: godot_method_bind , get_tree_root : 0 as * mut sys :: godot_method_bind , is_active : 0 as * mut sys :: godot_method_bind , rename_parameter : 0 as * mut sys :: godot_method_bind , set_active : 0 as * mut sys :: godot_method_bind , set_animation_player : 0 as * mut sys :: godot_method_bind , set_process_mode : 0 as * mut sys :: godot_method_bind , set_root_motion_track : 0 as * mut sys :: godot_method_bind , set_tree_root : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationTreeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationTree\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . advance = (gd_api . godot_method_bind_get_method) (class_name , "advance\0" . as_ptr () as * const c_char) ; table . get_animation_player = (gd_api . godot_method_bind_get_method) (class_name , "get_animation_player\0" . as_ptr () as * const c_char) ; table . get_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_process_mode\0" . as_ptr () as * const c_char) ; table . get_root_motion_track = (gd_api . godot_method_bind_get_method) (class_name , "get_root_motion_track\0" . as_ptr () as * const c_char) ; table . get_root_motion_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_root_motion_transform\0" . as_ptr () as * const c_char) ; table . get_tree_root = (gd_api . godot_method_bind_get_method) (class_name , "get_tree_root\0" . as_ptr () as * const c_char) ; table . is_active = (gd_api . godot_method_bind_get_method) (class_name , "is_active\0" . as_ptr () as * const c_char) ; table . rename_parameter = (gd_api . godot_method_bind_get_method) (class_name , "rename_parameter\0" . as_ptr () as * const c_char) ; table . set_active = (gd_api . godot_method_bind_get_method) (class_name , "set_active\0" . as_ptr () as * const c_char) ; table . set_animation_player = (gd_api . godot_method_bind_get_method) (class_name , "set_animation_player\0" . as_ptr () as * const c_char) ; table . set_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_process_mode\0" . as_ptr () as * const c_char) ; table . set_root_motion_track = (gd_api . godot_method_bind_get_method) (class_name , "set_root_motion_track\0" . as_ptr () as * const c_char) ; table . set_tree_root = (gd_api . godot_method_bind_get_method) (class_name , "set_tree_root\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:202:3666
[INFO] [stdout]     |
[INFO] [stdout] 202 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 # [doc = "`core singleton class JavaScript` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_javascript.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nJavaScript inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct JavaScript { this : RawObject < Self > , } impl JavaScript { # [doc = "Returns a reference to the singleton instance."] # [inline] pub fn godot_singleton () -> & 'static Self { unsafe { let this = (get_api () . godot_global_get_singleton) ("JavaScript\0" . as_ptr () as * mut _) ; let this = ptr :: NonNull :: new (this) . expect ("singleton should not be null") ; let this = RawObject :: from_sys_ref_unchecked :: < 'static > (this) ; Self :: cast_ref (this) } } # [doc = "Execute the string `code` as JavaScript code within the browser window. This is a call to the actual global JavaScript function `eval()`.\nIf `use_global_execution_context` is `true`, the code will be evaluated in the global execution context. Otherwise, it is evaluated in the execution context of a function within the engine's runtime environment.\n# Default Arguments\n* `use_global_execution_context` - `false`"] # [doc = ""] # [inline] pub fn eval (& self , code : impl Into < GodotString > , use_global_execution_context : bool) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = JavaScriptMethodTable :: get (get_api ()) . eval ; let ret = crate :: icalls :: icallptr_var_str_bool (method_bind , self . this . sys () . as_ptr () , code . into () , use_global_execution_context) ; Variant :: from_sys (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for JavaScript { } unsafe impl GodotObject for JavaScript { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "JavaScript" } } impl std :: ops :: Deref for JavaScript { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for JavaScript { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for JavaScript { } unsafe impl Send for JavaScript { } unsafe impl Sync for JavaScript { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct JavaScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub eval : * mut sys :: godot_method_bind } impl JavaScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : JavaScriptMethodTable = JavaScriptMethodTable { class_constructor : None , eval : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { JavaScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "JavaScript\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . eval = (gd_api . godot_method_bind_get_method) (class_name , "eval\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:208:9838
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 # [doc = "`core singleton class InputMap` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_inputmap.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nInputMap inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct InputMap { this : RawObject < Self > , } impl InputMap { # [doc = "Returns a reference to the singleton instance."] # [inline] pub fn godot_singleton () -> & 'static Self { unsafe { let this = (get_api () . godot_global_get_singleton) ("InputMap\0" . as_ptr () as * mut _) ; let this = ptr :: NonNull :: new (this) . expect ("singleton should not be null") ; let this = RawObject :: from_sys_ref_unchecked :: < 'static > (this) ; Self :: cast_ref (this) } } # [doc = "Adds an [InputEvent] to an action. This [InputEvent] will trigger the action."] # [doc = ""] # [inline] pub fn action_add_event (& self , action : impl Into < GodotString > , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_add_event ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , action . into () , event . as_arg_ptr ()) ; } } # [doc = "Removes an [InputEvent] from an action."] # [doc = ""] # [inline] pub fn action_erase_event (& self , action : impl Into < GodotString > , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_erase_event ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , action . into () , event . as_arg_ptr ()) ; } } # [doc = "Removes all events from an action."] # [doc = ""] # [inline] pub fn action_erase_events (& self , action : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_erase_events ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; } } # [doc = "Returns `true` if the action has the given [InputEvent] associated with it."] # [doc = ""] # [inline] pub fn action_has_event (& self , action : impl Into < GodotString > , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_has_event ; let ret = crate :: icalls :: icallptr_bool_str_obj (method_bind , self . this . sys () . as_ptr () , action . into () , event . as_arg_ptr ()) ; ret as _ } } # [doc = "Sets a deadzone value for the action."] # [doc = ""] # [inline] pub fn action_set_deadzone (& self , action : impl Into < GodotString > , deadzone : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_set_deadzone ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , action . into () , deadzone) ; } } # [doc = "Adds an empty action to the [InputMap] with a configurable `deadzone`.\nAn [InputEvent] can then be added to this action with [method action_add_event].\n# Default Arguments\n* `deadzone` - `0.5`"] # [doc = ""] # [inline] pub fn add_action (& self , action : impl Into < GodotString > , deadzone : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . add_action ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , action . into () , deadzone) ; } } # [doc = "Removes an action from the [InputMap]."] # [doc = ""] # [inline] pub fn erase_action (& self , action : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . erase_action ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; } } # [doc = "Returns `true` if the given event is part of an existing action. This method ignores keyboard modifiers if the given [InputEvent] is not pressed (for proper release detection). See [method action_has_event] if you don't want this behavior."] # [doc = ""] # [inline] pub fn event_is_action (& self , event : impl AsArg < crate :: generated :: input_event :: InputEvent > , action : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . event_is_action ; let ret = crate :: icalls :: icallptr_bool_obj_str (method_bind , self . this . sys () . as_ptr () , event . as_arg_ptr () , action . into ()) ; ret as _ } } # [doc = "Returns an array of [InputEvent]s associated with a given action."] # [doc = ""] # [inline] pub fn get_action_list (& self , action : impl Into < GodotString >) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . get_action_list ; let ret = crate :: icalls :: icallvar__str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns an array of all actions in the [InputMap]."] # [doc = ""] # [inline] pub fn get_actions (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . get_actions ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns `true` if the [InputMap] has a registered action with the given name."] # [doc = ""] # [inline] pub fn has_action (& self , action : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . has_action ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; ret as _ } } # [doc = "Clears all [InputEventAction] in the [InputMap] and load it anew from [ProjectSettings]."] # [doc = ""] # [inline] pub fn load_from_globals (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . load_from_globals ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for InputMap { } unsafe impl GodotObject for InputMap { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "InputMap" } } impl std :: ops :: Deref for InputMap { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for InputMap { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for InputMap { } unsafe impl Send for InputMap { } unsafe impl Sync for InputMap { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct InputMapMethodTable { pub class_constructor : sys :: godot_class_constructor , pub action_add_event : * mut sys :: godot_method_bind , pub action_erase_event : * mut sys :: godot_method_bind , pub action_erase_events : * mut sys :: godot_method_bind , pub action_has_event : * mut sys :: godot_method_bind , pub action_set_deadzone : * mut sys :: godot_method_bind , pub add_action : * mut sys :: godot_method_bind , pub erase_action : * mut sys :: godot_method_bind , pub event_is_action : * mut sys :: godot_method_bind , pub get_action_list : * mut sys :: godot_method_bind , pub get_actions : * mut sys :: godot_method_bind , pub has_action : * mut sys :: godot_method_bind , pub load_from_globals : * mut sys :: godot_method_bind } impl InputMapMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : InputMapMethodTable = InputMapMethodTable { class_constructor : None , action_add_event : 0 as * mut sys :: godot_method_bind , action_erase_event : 0 as * mut sys :: godot_method_bind , action_erase_events : 0 as * mut sys :: godot_method_bind , action_has_event : 0 as * mut sys :: godot_method_bind , action_set_deadzone : 0 as * mut sys :: godot_method_bind , add_action : 0 as * mut sys :: godot_method_bind , erase_action : 0 as * mut sys :: godot_method_bind , event_is_action : 0 as * mut sys :: godot_method_bind , get_action_list : 0 as * mut sys :: godot_method_bind , get_actions : 0 as * mut sys :: godot_method_bind , has_action : 0 as * mut sys :: godot_method_bind , load_from_globals : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { InputMapMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "InputMap\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . action_add_event = (gd_api . godot_method_bind_get_method) (class_name , "action_add_event\0" . as_ptr () as * const c_char) ; table . action_erase_event = (gd_api . godot_method_bind_get_method) (class_name , "action_erase_event\0" . as_ptr () as * const c_char) ; table . action_erase_events = (gd_api . godot_method_bind_get_method) (class_name , "action_erase_events\0" . as_ptr () as * const c_char) ; table . action_has_event = (gd_api . godot_method_bind_get_method) (class_name , "action_has_event\0" . as_ptr () as * const c_char) ; table . action_set_deadzone = (gd_api . godot_method_bind_get_method) (class_name , "action_set_deadzone\0" . as_ptr () as * const c_char) ; table . add_action = (gd_api . godot_method_bind_get_method) (class_name , "add_action\0" . as_ptr () as * const c_char) ; table . erase_action = (gd_api . godot_method_bind_get_method) (class_name , "erase_action\0" . as_ptr () as * const c_char) ; table . event_is_action = (gd_api . godot_method_bind_get_method) (class_name , "event_is_action\0" . as_ptr () as * const c_char) ; table . get_action_list = (gd_api . godot_method_bind_get_method) (class_name , "get_action_list\0" . as_ptr () as * const c_char) ; table . get_actions = (gd_api . godot_method_bind_get_method) (class_name , "get_actions\0" . as_ptr () as * const c_char) ; table . has_action = (gd_api . godot_method_bind_get_method) (class_name , "has_action\0" . as_ptr () as * const c_char) ; table . load_from_globals = (gd_api . godot_method_bind_get_method) (class_name , "load_from_globals\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:214:22860
[INFO] [stdout]     |
[INFO] [stdout] 214 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 # [doc = "`core class SoftBody` inherits `MeshInstance` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_softbody.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`SoftBody` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<SoftBody>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nSoftBody inherits methods from:\n - [MeshInstance](struct.MeshInstance.html)\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SoftBody { this : RawObject < Self > , } impl SoftBody { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SoftBodyMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a body to the list of bodies that this body can't collide with."] # [doc = ""] # [inline] pub fn add_collision_exception_with (& self , body : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . add_collision_exception_with ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , body . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn areaAngular_stiffness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_areaAngular_stiffness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an array of nodes that were added as collision exceptions for this body."] # [doc = ""] # [inline] pub fn get_collision_exceptions (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_exceptions ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The physics layers this SoftBody is in.\nCollidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.\nA contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_layer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_layer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an individual bit on the collision mask."] # [doc = ""] # [inline] pub fn get_collision_layer_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_layer_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = "The physics layers this SoftBody scans for collisions. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an individual bit on the collision mask."] # [doc = ""] # [inline] pub fn get_collision_mask_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_mask_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn damping_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_damping_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn drag_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_drag_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn linear_stiffness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_linear_stiffness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "[NodePath] to a [CollisionObject] this SoftBody should avoid clipping."] # [doc = ""] # [inline] pub fn parent_collision_ignore (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_parent_collision_ignore ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn pose_matching_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_pose_matching_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn pressure_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_pressure_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Increasing this value will improve the resulting simulation, but can affect performance. Use with care."] # [doc = ""] # [inline] pub fn simulation_precision (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_simulation_precision ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The SoftBody's mass."] # [doc = ""] # [inline] pub fn total_mass (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_total_mass ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn volume_stiffness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_volume_stiffness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the [SoftBody] will respond to [RayCast]s."] # [doc = ""] # [inline] pub fn is_ray_pickable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . is_ray_pickable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Removes a body from the list of bodies that this body can't collide with."] # [doc = ""] # [inline] pub fn remove_collision_exception_with (& self , body : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . remove_collision_exception_with ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , body . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_areaAngular_stiffness (& self , areaAngular_stiffness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_areaAngular_stiffness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , areaAngular_stiffness) ; } } # [doc = "The physics layers this SoftBody is in.\nCollidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.\nA contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_layer (& self , collision_layer : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_layer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_layer) ; } } # [doc = "Sets individual bits on the layer mask. Use this if you only need to change one layer's value."] # [doc = ""] # [inline] pub fn set_collision_layer_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_layer_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = "The physics layers this SoftBody scans for collisions. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_mask (& self , collision_mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_mask) ; } } # [doc = "Sets individual bits on the collision mask. Use this if you only need to change one layer's value."] # [doc = ""] # [inline] pub fn set_collision_mask_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_mask_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_damping_coefficient (& self , damping_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_damping_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , damping_coefficient) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_drag_coefficient (& self , drag_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_drag_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , drag_coefficient) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_linear_stiffness (& self , linear_stiffness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_linear_stiffness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , linear_stiffness) ; } } # [doc = "[NodePath] to a [CollisionObject] this SoftBody should avoid clipping."] # [doc = ""] # [inline] pub fn set_parent_collision_ignore (& self , parent_collision_ignore : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_parent_collision_ignore ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , parent_collision_ignore . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_pose_matching_coefficient (& self , pose_matching_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_pose_matching_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , pose_matching_coefficient) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_pressure_coefficient (& self , pressure_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_pressure_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , pressure_coefficient) ; } } # [doc = "If `true`, the [SoftBody] will respond to [RayCast]s."] # [doc = ""] # [inline] pub fn set_ray_pickable (& self , ray_pickable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_ray_pickable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , ray_pickable) ; } } # [doc = "Increasing this value will improve the resulting simulation, but can affect performance. Use with care."] # [doc = ""] # [inline] pub fn set_simulation_precision (& self , simulation_precision : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_simulation_precision ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , simulation_precision) ; } } # [doc = "The SoftBody's mass."] # [doc = ""] # [inline] pub fn set_total_mass (& self , mass : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_total_mass ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , mass) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_volume_stiffness (& self , volume_stiffness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_volume_stiffness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , volume_stiffness) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SoftBody { } unsafe impl GodotObject for SoftBody { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "SoftBody" } } impl QueueFree for SoftBody { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for SoftBody { type Target = crate :: generated :: mesh_instance :: MeshInstance ; # [inline] fn deref (& self) -> & crate :: generated :: mesh_instance :: MeshInstance { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SoftBody { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: mesh_instance :: MeshInstance { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: mesh_instance :: MeshInstance > for SoftBody { } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for SoftBody { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for SoftBody { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for SoftBody { } unsafe impl SubClass < crate :: generated :: node :: Node > for SoftBody { } unsafe impl SubClass < crate :: generated :: object :: Object > for SoftBody { } impl Instanciable for SoftBody { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SoftBody :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SoftBodyMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_collision_exception_with : * mut sys :: godot_method_bind , pub get_areaAngular_stiffness : * mut sys :: godot_method_bind , pub get_collision_exceptions : * mut sys :: godot_method_bind , pub get_collision_layer : * mut sys :: godot_method_bind , pub get_collision_layer_bit : * mut sys :: godot_method_bind , pub get_collision_mask : * mut sys :: godot_method_bind , pub get_collision_mask_bit : * mut sys :: godot_method_bind , pub get_damping_coefficient : * mut sys :: godot_method_bind , pub get_drag_coefficient : * mut sys :: godot_method_bind , pub get_linear_stiffness : * mut sys :: godot_method_bind , pub get_parent_collision_ignore : * mut sys :: godot_method_bind , pub get_pose_matching_coefficient : * mut sys :: godot_method_bind , pub get_pressure_coefficient : * mut sys :: godot_method_bind , pub get_simulation_precision : * mut sys :: godot_method_bind , pub get_total_mass : * mut sys :: godot_method_bind , pub get_volume_stiffness : * mut sys :: godot_method_bind , pub is_ray_pickable : * mut sys :: godot_method_bind , pub remove_collision_exception_with : * mut sys :: godot_method_bind , pub set_areaAngular_stiffness : * mut sys :: godot_method_bind , pub set_collision_layer : * mut sys :: godot_method_bind , pub set_collision_layer_bit : * mut sys :: godot_method_bind , pub set_collision_mask : * mut sys :: godot_method_bind , pub set_collision_mask_bit : * mut sys :: godot_method_bind , pub set_damping_coefficient : * mut sys :: godot_method_bind , pub set_drag_coefficient : * mut sys :: godot_method_bind , pub set_linear_stiffness : * mut sys :: godot_method_bind , pub set_parent_collision_ignore : * mut sys :: godot_method_bind , pub set_pose_matching_coefficient : * mut sys :: godot_method_bind , pub set_pressure_coefficient : * mut sys :: godot_method_bind , pub set_ray_pickable : * mut sys :: godot_method_bind , pub set_simulation_precision : * mut sys :: godot_method_bind , pub set_total_mass : * mut sys :: godot_method_bind , pub set_volume_stiffness : * mut sys :: godot_method_bind } impl SoftBodyMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SoftBodyMethodTable = SoftBodyMethodTable { class_constructor : None , add_collision_exception_with : 0 as * mut sys :: godot_method_bind , get_areaAngular_stiffness : 0 as * mut sys :: godot_method_bind , get_collision_exceptions : 0 as * mut sys :: godot_method_bind , get_collision_layer : 0 as * mut sys :: godot_method_bind , get_collision_layer_bit : 0 as * mut sys :: godot_method_bind , get_collision_mask : 0 as * mut sys :: godot_method_bind , get_collision_mask_bit : 0 as * mut sys :: godot_method_bind , get_damping_coefficient : 0 as * mut sys :: godot_method_bind , get_drag_coefficient : 0 as * mut sys :: godot_method_bind , get_linear_stiffness : 0 as * mut sys :: godot_method_bind , get_parent_collision_ignore : 0 as * mut sys :: godot_method_bind , get_pose_matching_coefficient : 0 as * mut sys :: godot_method_bind , get_pressure_coefficient : 0 as * mut sys :: godot_method_bind , get_simulation_precision : 0 as * mut sys :: godot_method_bind , get_total_mass : 0 as * mut sys :: godot_method_bind , get_volume_stiffness : 0 as * mut sys :: godot_method_bind , is_ray_pickable : 0 as * mut sys :: godot_method_bind , remove_collision_exception_with : 0 as * mut sys :: godot_method_bind , set_areaAngular_stiffness : 0 as * mut sys :: godot_method_bind , set_collision_layer : 0 as * mut sys :: godot_method_bind , set_collision_layer_bit : 0 as * mut sys :: godot_method_bind , set_collision_mask : 0 as * mut sys :: godot_method_bind , set_collision_mask_bit : 0 as * mut sys :: godot_method_bind , set_damping_coefficient : 0 as * mut sys :: godot_method_bind , set_drag_coefficient : 0 as * mut sys :: godot_method_bind , set_linear_stiffness : 0 as * mut sys :: godot_method_bind , set_parent_collision_ignore : 0 as * mut sys :: godot_method_bind , set_pose_matching_coefficient : 0 as * mut sys :: godot_method_bind , set_pressure_coefficient : 0 as * mut sys :: godot_method_bind , set_ray_pickable : 0 as * mut sys :: godot_method_bind , set_simulation_precision : 0 as * mut sys :: godot_method_bind , set_total_mass : 0 as * mut sys :: godot_method_bind , set_volume_stiffness : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SoftBodyMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SoftBody\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_collision_exception_with = (gd_api . godot_method_bind_get_method) (class_name , "add_collision_exception_with\0" . as_ptr () as * const c_char) ; table . get_areaAngular_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "get_areaAngular_stiffness\0" . as_ptr () as * const c_char) ; table . get_collision_exceptions = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_exceptions\0" . as_ptr () as * const c_char) ; table . get_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer\0" . as_ptr () as * const c_char) ; table . get_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . get_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask\0" . as_ptr () as * const c_char) ; table . get_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . get_damping_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_damping_coefficient\0" . as_ptr () as * const c_char) ; table . get_drag_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_drag_coefficient\0" . as_ptr () as * const c_char) ; table . get_linear_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "get_linear_stiffness\0" . as_ptr () as * const c_char) ; table . get_parent_collision_ignore = (gd_api . godot_method_bind_get_method) (class_name , "get_parent_collision_ignore\0" . as_ptr () as * const c_char) ; table . get_pose_matching_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_pose_matching_coefficient\0" . as_ptr () as * const c_char) ; table . get_pressure_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_pressure_coefficient\0" . as_ptr () as * const c_char) ; table . get_simulation_precision = (gd_api . godot_method_bind_get_method) (class_name , "get_simulation_precision\0" . as_ptr () as * const c_char) ; table . get_total_mass = (gd_api . godot_method_bind_get_method) (class_name , "get_total_mass\0" . as_ptr () as * const c_char) ; table . get_volume_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "get_volume_stiffness\0" . as_ptr () as * const c_char) ; table . is_ray_pickable = (gd_api . godot_method_bind_get_method) (class_name , "is_ray_pickable\0" . as_ptr () as * const c_char) ; table . remove_collision_exception_with = (gd_api . godot_method_bind_get_method) (class_name , "remove_collision_exception_with\0" . as_ptr () as * const c_char) ; table . set_areaAngular_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "set_areaAngular_stiffness\0" . as_ptr () as * const c_char) ; table . set_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer\0" . as_ptr () as * const c_char) ; table . set_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . set_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask\0" . as_ptr () as * const c_char) ; table . set_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . set_damping_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_damping_coefficient\0" . as_ptr () as * const c_char) ; table . set_drag_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_drag_coefficient\0" . as_ptr () as * const c_char) ; table . set_linear_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "set_linear_stiffness\0" . as_ptr () as * const c_char) ; table . set_parent_collision_ignore = (gd_api . godot_method_bind_get_method) (class_name , "set_parent_collision_ignore\0" . as_ptr () as * const c_char) ; table . set_pose_matching_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_pose_matching_coefficient\0" . as_ptr () as * const c_char) ; table . set_pressure_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_pressure_coefficient\0" . as_ptr () as * const c_char) ; table . set_ray_pickable = (gd_api . godot_method_bind_get_method) (class_name , "set_ray_pickable\0" . as_ptr () as * const c_char) ; table . set_simulation_precision = (gd_api . godot_method_bind_get_method) (class_name , "set_simulation_precision\0" . as_ptr () as * const c_char) ; table . set_total_mass = (gd_api . godot_method_bind_get_method) (class_name , "set_total_mass\0" . as_ptr () as * const c_char) ; table . set_volume_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "set_volume_stiffness\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:220:4421
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 # [doc = "`core class VideoStreamGDNative` inherits `VideoStream` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_videostreamgdnative.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVideoStreamGDNative inherits methods from:\n - [VideoStream](struct.VideoStream.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VideoStreamGDNative { this : RawObject < Self > , } impl VideoStreamGDNative { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VideoStreamGDNativeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn file (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VideoStreamGDNativeMethodTable :: get (get_api ()) . get_file ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_file (& self , file : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VideoStreamGDNativeMethodTable :: get (get_api ()) . set_file ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , file . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VideoStreamGDNative { } unsafe impl GodotObject for VideoStreamGDNative { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VideoStreamGDNative" } } impl std :: ops :: Deref for VideoStreamGDNative { type Target = crate :: generated :: video_stream :: VideoStream ; # [inline] fn deref (& self) -> & crate :: generated :: video_stream :: VideoStream { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VideoStreamGDNative { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: video_stream :: VideoStream { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: video_stream :: VideoStream > for VideoStreamGDNative { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VideoStreamGDNative { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VideoStreamGDNative { } unsafe impl SubClass < crate :: generated :: object :: Object > for VideoStreamGDNative { } impl Instanciable for VideoStreamGDNative { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VideoStreamGDNative :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VideoStreamGDNativeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_file : * mut sys :: godot_method_bind , pub set_file : * mut sys :: godot_method_bind } impl VideoStreamGDNativeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VideoStreamGDNativeMethodTable = VideoStreamGDNativeMethodTable { class_constructor : None , get_file : 0 as * mut sys :: godot_method_bind , set_file : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VideoStreamGDNativeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VideoStreamGDNative\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_file = (gd_api . godot_method_bind_get_method) (class_name , "get_file\0" . as_ptr () as * const c_char) ; table . set_file = (gd_api . godot_method_bind_get_method) (class_name , "set_file\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:226:9007
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 # [doc = "`core class MultiMeshInstance2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_multimeshinstance2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`MultiMeshInstance2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<MultiMeshInstance2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nMultiMeshInstance2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MultiMeshInstance2D { this : RawObject < Self > , } impl MultiMeshInstance2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MultiMeshInstance2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [MultiMesh] that will be drawn by the [MultiMeshInstance2D]."] # [doc = ""] # [inline] pub fn multimesh (& self) -> Option < Ref < crate :: generated :: multi_mesh :: MultiMesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . get_multimesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: multi_mesh :: MultiMesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The normal map that will be used if using the default [CanvasItemMaterial].\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn normal_map (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . get_normal_map ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as `TEXTURE` in CanvasItem shader."] # [doc = ""] # [inline] pub fn texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [MultiMesh] that will be drawn by the [MultiMeshInstance2D]."] # [doc = ""] # [inline] pub fn set_multimesh (& self , multimesh : impl AsArg < crate :: generated :: multi_mesh :: MultiMesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . set_multimesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , multimesh . as_arg_ptr ()) ; } } # [doc = "The normal map that will be used if using the default [CanvasItemMaterial].\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn set_normal_map (& self , normal_map : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . set_normal_map ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , normal_map . as_arg_ptr ()) ; } } # [doc = "The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as `TEXTURE` in CanvasItem shader."] # [doc = ""] # [inline] pub fn set_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . set_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MultiMeshInstance2D { } unsafe impl GodotObject for MultiMeshInstance2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "MultiMeshInstance2D" } } impl QueueFree for MultiMeshInstance2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for MultiMeshInstance2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MultiMeshInstance2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for MultiMeshInstance2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for MultiMeshInstance2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for MultiMeshInstance2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for MultiMeshInstance2D { } impl Instanciable for MultiMeshInstance2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MultiMeshInstance2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MultiMeshInstance2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_multimesh : * mut sys :: godot_method_bind , pub get_normal_map : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub set_multimesh : * mut sys :: godot_method_bind , pub set_normal_map : * mut sys :: godot_method_bind , pub set_texture : * mut sys :: godot_method_bind } impl MultiMeshInstance2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MultiMeshInstance2DMethodTable = MultiMeshInstance2DMethodTable { class_constructor : None , get_multimesh : 0 as * mut sys :: godot_method_bind , get_normal_map : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , set_multimesh : 0 as * mut sys :: godot_method_bind , set_normal_map : 0 as * mut sys :: godot_method_bind , set_texture : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MultiMeshInstance2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MultiMeshInstance2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_multimesh = (gd_api . godot_method_bind_get_method) (class_name , "get_multimesh\0" . as_ptr () as * const c_char) ; table . get_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "get_normal_map\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . set_multimesh = (gd_api . godot_method_bind_get_method) (class_name , "set_multimesh\0" . as_ptr () as * const c_char) ; table . set_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "set_normal_map\0" . as_ptr () as * const c_char) ; table . set_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_texture\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:232:7048
[INFO] [stdout]     |
[INFO] [stdout] 232 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 # [doc = "`core class PacketPeerDTLS` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_packetpeerdtls.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPacketPeerDTLS inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PacketPeerDTLS { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Status (pub i64) ; impl Status { pub const DISCONNECTED : Status = Status (0i64) ; pub const HANDSHAKING : Status = Status (1i64) ; pub const CONNECTED : Status = Status (2i64) ; pub const ERROR : Status = Status (3i64) ; pub const ERROR_HOSTNAME_MISMATCH : Status = Status (4i64) ; } impl From < i64 > for Status { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Status > for i64 { # [inline] fn from (v : Status) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl PacketPeerDTLS { pub const STATUS_CONNECTED : i64 = 2i64 ; pub const STATUS_DISCONNECTED : i64 = 0i64 ; pub const STATUS_ERROR : i64 = 3i64 ; pub const STATUS_ERROR_HOSTNAME_MISMATCH : i64 = 4i64 ; pub const STATUS_HANDSHAKING : i64 = 1i64 ; } impl PacketPeerDTLS { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PacketPeerDTLSMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Connects a `peer` beginning the DTLS handshake using the underlying [PacketPeerUDP] which must be connected (see [method PacketPeerUDP.connect_to_host]). If `validate_certs` is `true`, [PacketPeerDTLS] will validate that the certificate presented by the remote peer and match it with the `for_hostname` argument. You can specify a custom [X509Certificate] to use for validation via the `valid_certificate` argument.\n# Default Arguments\n* `validate_certs` - `true`\n* `for_hostname` - `\"\"`\n* `valid_certificate` - `null`"] # [doc = ""] # [inline] pub fn connect_to_peer (& self , packet_peer : impl AsArg < crate :: generated :: packet_peer_udp :: PacketPeerUDP > , validate_certs : bool , for_hostname : impl Into < GodotString > , valid_certificate : impl AsArg < crate :: generated :: x509_certificate :: X509Certificate >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . connect_to_peer ; let ret = crate :: icalls :: icallptr_i64_obj_bool_str_obj (method_bind , self . this . sys () . as_ptr () , packet_peer . as_arg_ptr () , validate_certs , for_hostname . into () , valid_certificate . as_arg_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Disconnects this peer, terminating the DTLS session."] # [doc = ""] # [inline] pub fn disconnect_from_peer (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . disconnect_from_peer ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns the status of the connection. See [enum Status] for values."] # [doc = ""] # [inline] pub fn get_status (& self) -> crate :: generated :: packet_peer_dtls :: Status { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . get_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: packet_peer_dtls :: Status (ret) } } # [doc = "Poll the connection to check for incoming packets. Call this frequently to update the status and keep the connection working."] # [doc = ""] # [inline] pub fn poll (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PacketPeerDTLS { } unsafe impl GodotObject for PacketPeerDTLS { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "PacketPeerDTLS" } } impl std :: ops :: Deref for PacketPeerDTLS { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PacketPeerDTLS { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for PacketPeerDTLS { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for PacketPeerDTLS { } unsafe impl SubClass < crate :: generated :: object :: Object > for PacketPeerDTLS { } impl Instanciable for PacketPeerDTLS { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PacketPeerDTLS :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PacketPeerDTLSMethodTable { pub class_constructor : sys :: godot_class_constructor , pub connect_to_peer : * mut sys :: godot_method_bind , pub disconnect_from_peer : * mut sys :: godot_method_bind , pub get_status : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind } impl PacketPeerDTLSMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PacketPeerDTLSMethodTable = PacketPeerDTLSMethodTable { class_constructor : None , connect_to_peer : 0 as * mut sys :: godot_method_bind , disconnect_from_peer : 0 as * mut sys :: godot_method_bind , get_status : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PacketPeerDTLSMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PacketPeerDTLS\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . connect_to_peer = (gd_api . godot_method_bind_get_method) (class_name , "connect_to_peer\0" . as_ptr () as * const c_char) ; table . disconnect_from_peer = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_from_peer\0" . as_ptr () as * const c_char) ; table . get_status = (gd_api . godot_method_bind_get_method) (class_name , "get_status\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:238:9148
[INFO] [stdout]     |
[INFO] [stdout] 238 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 # [doc = "`core class KinematicCollision` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_kinematiccollision.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nKinematicCollision inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct KinematicCollision { this : RawObject < Self > , } impl KinematicCollision { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = KinematicCollisionMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The colliding body."] # [doc = ""] # [inline] pub fn collider (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's unique instance ID. See [method Object.get_instance_id]."] # [doc = ""] # [inline] pub fn collider_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding body's metadata. See [Object]."] # [doc = ""] # [inline] pub fn collider_metadata (& self) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_metadata ; let ret = crate :: icalls :: icallptr_var (method_bind , self . this . sys () . as_ptr ()) ; Variant :: from_sys (ret) } } # [doc = "The colliding body's shape."] # [doc = ""] # [inline] pub fn collider_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding shape's index. See [CollisionObject]."] # [doc = ""] # [inline] pub fn collider_shape_index (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_shape_index ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding object's velocity."] # [doc = ""] # [inline] pub fn collider_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's colliding shape."] # [doc = ""] # [inline] pub fn local_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_local_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's shape's normal at the point of collision."] # [doc = ""] # [inline] pub fn normal (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_normal ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The point of collision, in global coordinates."] # [doc = ""] # [inline] pub fn position (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_position ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's remaining movement vector."] # [doc = ""] # [inline] pub fn remainder (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_remainder ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The distance the moving object traveled before collision."] # [doc = ""] # [inline] pub fn travel (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_travel ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for KinematicCollision { } unsafe impl GodotObject for KinematicCollision { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "KinematicCollision" } } impl std :: ops :: Deref for KinematicCollision { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for KinematicCollision { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for KinematicCollision { } unsafe impl SubClass < crate :: generated :: object :: Object > for KinematicCollision { } impl Instanciable for KinematicCollision { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { KinematicCollision :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct KinematicCollisionMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_collider : * mut sys :: godot_method_bind , pub get_collider_id : * mut sys :: godot_method_bind , pub get_collider_metadata : * mut sys :: godot_method_bind , pub get_collider_shape : * mut sys :: godot_method_bind , pub get_collider_shape_index : * mut sys :: godot_method_bind , pub get_collider_velocity : * mut sys :: godot_method_bind , pub get_local_shape : * mut sys :: godot_method_bind , pub get_normal : * mut sys :: godot_method_bind , pub get_position : * mut sys :: godot_method_bind , pub get_remainder : * mut sys :: godot_method_bind , pub get_travel : * mut sys :: godot_method_bind } impl KinematicCollisionMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : KinematicCollisionMethodTable = KinematicCollisionMethodTable { class_constructor : None , get_collider : 0 as * mut sys :: godot_method_bind , get_collider_id : 0 as * mut sys :: godot_method_bind , get_collider_metadata : 0 as * mut sys :: godot_method_bind , get_collider_shape : 0 as * mut sys :: godot_method_bind , get_collider_shape_index : 0 as * mut sys :: godot_method_bind , get_collider_velocity : 0 as * mut sys :: godot_method_bind , get_local_shape : 0 as * mut sys :: godot_method_bind , get_normal : 0 as * mut sys :: godot_method_bind , get_position : 0 as * mut sys :: godot_method_bind , get_remainder : 0 as * mut sys :: godot_method_bind , get_travel : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { KinematicCollisionMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "KinematicCollision\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_collider = (gd_api . godot_method_bind_get_method) (class_name , "get_collider\0" . as_ptr () as * const c_char) ; table . get_collider_id = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_id\0" . as_ptr () as * const c_char) ; table . get_collider_metadata = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_metadata\0" . as_ptr () as * const c_char) ; table . get_collider_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape\0" . as_ptr () as * const c_char) ; table . get_collider_shape_index = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape_index\0" . as_ptr () as * const c_char) ; table . get_collider_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_velocity\0" . as_ptr () as * const c_char) ; table . get_local_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_local_shape\0" . as_ptr () as * const c_char) ; table . get_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_normal\0" . as_ptr () as * const c_char) ; table . get_position = (gd_api . godot_method_bind_get_method) (class_name , "get_position\0" . as_ptr () as * const c_char) ; table . get_remainder = (gd_api . godot_method_bind_get_method) (class_name , "get_remainder\0" . as_ptr () as * const c_char) ; table . get_travel = (gd_api . godot_method_bind_get_method) (class_name , "get_travel\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:244:11972
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 # [doc = "`core class AnimationNode` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnode.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNode inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNode { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct FilterAction (pub i64) ; impl FilterAction { pub const IGNORE : FilterAction = FilterAction (0i64) ; pub const PASS : FilterAction = FilterAction (1i64) ; pub const STOP : FilterAction = FilterAction (2i64) ; pub const BLEND : FilterAction = FilterAction (3i64) ; } impl From < i64 > for FilterAction { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < FilterAction > for i64 { # [inline] fn from (v : FilterAction) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AnimationNode { pub const FILTER_BLEND : i64 = 3i64 ; pub const FILTER_IGNORE : i64 = 0i64 ; pub const FILTER_PASS : i64 = 1i64 ; pub const FILTER_STOP : i64 = 2i64 ; } impl AnimationNode { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds an input to the node. This is only useful for nodes created for use in an [AnimationNodeBlendTree]."] # [doc = ""] # [inline] pub fn add_input (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . add_input ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "Blend an animation by `blend` amount (name must be valid in the linked [AnimationPlayer]). A `time` and `delta` may be passed, as well as whether `seek` happened."] # [doc = ""] # [inline] pub fn blend_animation (& self , animation : impl Into < GodotString > , time : f64 , delta : f64 , seeked : bool , blend : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . blend_animation ; let ret = crate :: icalls :: icallptr_void_str_f64_f64_bool_f64 (method_bind , self . this . sys () . as_ptr () , animation . into () , time , delta , seeked , blend) ; } } # [doc = "Blend an input. This is only useful for nodes created for an [AnimationNodeBlendTree]. The `time` parameter is a relative delta, unless `seek` is `true`, in which case it is absolute. A filter mode may be optionally passed (see [enum FilterAction] for options).\n# Default Arguments\n* `filter` - `0`\n* `optimize` - `true`"] # [doc = ""] # [inline] pub fn blend_input (& self , input_index : i64 , time : f64 , seek : bool , blend : f64 , filter : i64 , optimize : bool) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . blend_input ; let ret = crate :: icalls :: icallptr_f64_i64_f64_bool_f64_i64_bool (method_bind , self . this . sys () . as_ptr () , input_index , time , seek , blend , filter , optimize) ; ret as _ } } # [doc = "Blend another animation node (in case this node contains children animation nodes). This function is only useful if you inherit from [AnimationRootNode] instead, else editors will not display your node for addition.\n# Default Arguments\n* `filter` - `0`\n* `optimize` - `true`"] # [doc = ""] # [inline] pub fn blend_node (& self , name : impl Into < GodotString > , node : impl AsArg < crate :: generated :: animation_node :: AnimationNode > , time : f64 , seek : bool , blend : f64 , filter : i64 , optimize : bool) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . blend_node ; let ret = crate :: icalls :: icallptr_f64_str_obj_f64_bool_f64_i64_bool (method_bind , self . this . sys () . as_ptr () , name . into () , node . as_arg_ptr () , time , seek , blend , filter , optimize) ; ret as _ } } # [doc = "Amount of inputs in this node, only useful for nodes that go into [AnimationNodeBlendTree]."] # [doc = ""] # [inline] pub fn get_input_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . get_input_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets the name of an input by index."] # [doc = ""] # [inline] pub fn get_input_name (& self , input : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . get_input_name ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , input) ; GodotString :: from_sys (ret) } } # [doc = "Gets the value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees."] # [doc = ""] # [inline] pub fn get_parameter (& self , name : impl Into < GodotString >) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . get_parameter ; let ret = crate :: icalls :: icallptr_var_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; Variant :: from_sys (ret) } } # [doc = "If `true`, filtering is enabled."] # [doc = ""] # [inline] pub fn is_filter_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . is_filter_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` whether a given path is filtered."] # [doc = ""] # [inline] pub fn is_path_filtered (& self , path : impl Into < NodePath >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . is_path_filtered ; let ret = crate :: icalls :: icallptr_bool_nodepath (method_bind , self . this . sys () . as_ptr () , path . into ()) ; ret as _ } } # [doc = "Removes an input, call this only when inactive."] # [doc = ""] # [inline] pub fn remove_input (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . remove_input ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "If `true`, filtering is enabled."] # [doc = ""] # [inline] pub fn set_filter_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . set_filter_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Adds or removes a path for the filter."] # [doc = ""] # [inline] pub fn set_filter_path (& self , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . set_filter_path ; let ret = crate :: icalls :: icallptr_void_nodepath_bool (method_bind , self . this . sys () . as_ptr () , path . into () , enable) ; } } # [doc = "Sets a custom parameter. These are used as local storage, because resources can be reused across the tree or scenes."] # [doc = ""] # [inline] pub fn set_parameter (& self , name : impl Into < GodotString > , value : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . set_parameter ; let ret = crate :: icalls :: icallptr_void_str_var (method_bind , self . this . sys () . as_ptr () , name . into () , value . owned_to_variant ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNode { } unsafe impl GodotObject for AnimationNode { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNode" } } impl std :: ops :: Deref for AnimationNode { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNode { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNode { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNode { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNode { } impl Instanciable for AnimationNode { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNode :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_input : * mut sys :: godot_method_bind , pub blend_animation : * mut sys :: godot_method_bind , pub blend_input : * mut sys :: godot_method_bind , pub blend_node : * mut sys :: godot_method_bind , pub get_input_count : * mut sys :: godot_method_bind , pub get_input_name : * mut sys :: godot_method_bind , pub get_parameter : * mut sys :: godot_method_bind , pub is_filter_enabled : * mut sys :: godot_method_bind , pub is_path_filtered : * mut sys :: godot_method_bind , pub remove_input : * mut sys :: godot_method_bind , pub set_filter_enabled : * mut sys :: godot_method_bind , pub set_filter_path : * mut sys :: godot_method_bind , pub set_parameter : * mut sys :: godot_method_bind } impl AnimationNodeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeMethodTable = AnimationNodeMethodTable { class_constructor : None , add_input : 0 as * mut sys :: godot_method_bind , blend_animation : 0 as * mut sys :: godot_method_bind , blend_input : 0 as * mut sys :: godot_method_bind , blend_node : 0 as * mut sys :: godot_method_bind , get_input_count : 0 as * mut sys :: godot_method_bind , get_input_name : 0 as * mut sys :: godot_method_bind , get_parameter : 0 as * mut sys :: godot_method_bind , is_filter_enabled : 0 as * mut sys :: godot_method_bind , is_path_filtered : 0 as * mut sys :: godot_method_bind , remove_input : 0 as * mut sys :: godot_method_bind , set_filter_enabled : 0 as * mut sys :: godot_method_bind , set_filter_path : 0 as * mut sys :: godot_method_bind , set_parameter : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNode\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_input = (gd_api . godot_method_bind_get_method) (class_name , "add_input\0" . as_ptr () as * const c_char) ; table . blend_animation = (gd_api . godot_method_bind_get_method) (class_name , "blend_animation\0" . as_ptr () as * const c_char) ; table . blend_input = (gd_api . godot_method_bind_get_method) (class_name , "blend_input\0" . as_ptr () as * const c_char) ; table . blend_node = (gd_api . godot_method_bind_get_method) (class_name , "blend_node\0" . as_ptr () as * const c_char) ; table . get_input_count = (gd_api . godot_method_bind_get_method) (class_name , "get_input_count\0" . as_ptr () as * const c_char) ; table . get_input_name = (gd_api . godot_method_bind_get_method) (class_name , "get_input_name\0" . as_ptr () as * const c_char) ; table . get_parameter = (gd_api . godot_method_bind_get_method) (class_name , "get_parameter\0" . as_ptr () as * const c_char) ; table . is_filter_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_filter_enabled\0" . as_ptr () as * const c_char) ; table . is_path_filtered = (gd_api . godot_method_bind_get_method) (class_name , "is_path_filtered\0" . as_ptr () as * const c_char) ; table . remove_input = (gd_api . godot_method_bind_get_method) (class_name , "remove_input\0" . as_ptr () as * const c_char) ; table . set_filter_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_filter_enabled\0" . as_ptr () as * const c_char) ; table . set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "set_filter_path\0" . as_ptr () as * const c_char) ; table . set_parameter = (gd_api . godot_method_bind_get_method) (class_name , "set_parameter\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:250:3287
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 # [doc = "`core class AudioBusLayout` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audiobuslayout.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioBusLayout inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioBusLayout { this : RawObject < Self > , } impl AudioBusLayout { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioBusLayoutMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioBusLayout { } unsafe impl GodotObject for AudioBusLayout { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioBusLayout" } } impl std :: ops :: Deref for AudioBusLayout { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioBusLayout { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioBusLayout { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioBusLayout { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioBusLayout { } impl Instanciable for AudioBusLayout { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioBusLayout :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioBusLayoutMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AudioBusLayoutMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioBusLayoutMethodTable = AudioBusLayoutMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioBusLayoutMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioBusLayout\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:256:9748
[INFO] [stdout]     |
[INFO] [stdout] 256 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 # [doc = "`core class WebRTCDataChannel` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_webrtcdatachannel.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebRTCDataChannel inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebRTCDataChannel { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ChannelState (pub i64) ; impl ChannelState { pub const CONNECTING : ChannelState = ChannelState (0i64) ; pub const OPEN : ChannelState = ChannelState (1i64) ; pub const CLOSING : ChannelState = ChannelState (2i64) ; pub const CLOSED : ChannelState = ChannelState (3i64) ; } impl From < i64 > for ChannelState { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ChannelState > for i64 { # [inline] fn from (v : ChannelState) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct WriteMode (pub i64) ; impl WriteMode { pub const TEXT : WriteMode = WriteMode (0i64) ; pub const BINARY : WriteMode = WriteMode (1i64) ; } impl From < i64 > for WriteMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < WriteMode > for i64 { # [inline] fn from (v : WriteMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl WebRTCDataChannel { pub const STATE_CLOSED : i64 = 3i64 ; pub const STATE_CLOSING : i64 = 2i64 ; pub const STATE_CONNECTING : i64 = 0i64 ; pub const STATE_OPEN : i64 = 1i64 ; pub const WRITE_MODE_BINARY : i64 = 1i64 ; pub const WRITE_MODE_TEXT : i64 = 0i64 ; } impl WebRTCDataChannel { # [doc = ""] # [doc = ""] # [inline] pub fn close (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . close ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn get_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_label (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_label ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_max_packet_life_time (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_max_packet_life_time ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_max_retransmits (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_max_retransmits ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_protocol (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_protocol ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_ready_state (& self) -> crate :: generated :: web_rtc_data_channel :: ChannelState { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_ready_state ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: web_rtc_data_channel :: ChannelState (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn write_mode (& self) -> crate :: generated :: web_rtc_data_channel :: WriteMode { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_write_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: web_rtc_data_channel :: WriteMode (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_negotiated (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . is_negotiated ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_ordered (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . is_ordered ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn poll (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_write_mode (& self , write_mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . set_write_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , write_mode) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn was_string_packet (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . was_string_packet ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } } impl gdnative_core :: private :: godot_object :: Sealed for WebRTCDataChannel { } unsafe impl GodotObject for WebRTCDataChannel { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebRTCDataChannel" } } impl std :: ops :: Deref for WebRTCDataChannel { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebRTCDataChannel { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for WebRTCDataChannel { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebRTCDataChannel { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebRTCDataChannel { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebRTCDataChannelMethodTable { pub class_constructor : sys :: godot_class_constructor , pub close : * mut sys :: godot_method_bind , pub get_id : * mut sys :: godot_method_bind , pub get_label : * mut sys :: godot_method_bind , pub get_max_packet_life_time : * mut sys :: godot_method_bind , pub get_max_retransmits : * mut sys :: godot_method_bind , pub get_protocol : * mut sys :: godot_method_bind , pub get_ready_state : * mut sys :: godot_method_bind , pub get_write_mode : * mut sys :: godot_method_bind , pub is_negotiated : * mut sys :: godot_method_bind , pub is_ordered : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind , pub set_write_mode : * mut sys :: godot_method_bind , pub was_string_packet : * mut sys :: godot_method_bind } impl WebRTCDataChannelMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebRTCDataChannelMethodTable = WebRTCDataChannelMethodTable { class_constructor : None , close : 0 as * mut sys :: godot_method_bind , get_id : 0 as * mut sys :: godot_method_bind , get_label : 0 as * mut sys :: godot_method_bind , get_max_packet_life_time : 0 as * mut sys :: godot_method_bind , get_max_retransmits : 0 as * mut sys :: godot_method_bind , get_protocol : 0 as * mut sys :: godot_method_bind , get_ready_state : 0 as * mut sys :: godot_method_bind , get_write_mode : 0 as * mut sys :: godot_method_bind , is_negotiated : 0 as * mut sys :: godot_method_bind , is_ordered : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind , set_write_mode : 0 as * mut sys :: godot_method_bind , was_string_packet : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebRTCDataChannelMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebRTCDataChannel\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . close = (gd_api . godot_method_bind_get_method) (class_name , "close\0" . as_ptr () as * const c_char) ; table . get_id = (gd_api . godot_method_bind_get_method) (class_name , "get_id\0" . as_ptr () as * const c_char) ; table . get_label = (gd_api . godot_method_bind_get_method) (class_name , "get_label\0" . as_ptr () as * const c_char) ; table . get_max_packet_life_time = (gd_api . godot_method_bind_get_method) (class_name , "get_max_packet_life_time\0" . as_ptr () as * const c_char) ; table . get_max_retransmits = (gd_api . godot_method_bind_get_method) (class_name , "get_max_retransmits\0" . as_ptr () as * const c_char) ; table . get_protocol = (gd_api . godot_method_bind_get_method) (class_name , "get_protocol\0" . as_ptr () as * const c_char) ; table . get_ready_state = (gd_api . godot_method_bind_get_method) (class_name , "get_ready_state\0" . as_ptr () as * const c_char) ; table . get_write_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_write_mode\0" . as_ptr () as * const c_char) ; table . is_negotiated = (gd_api . godot_method_bind_get_method) (class_name , "is_negotiated\0" . as_ptr () as * const c_char) ; table . is_ordered = (gd_api . godot_method_bind_get_method) (class_name , "is_ordered\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; table . set_write_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_write_mode\0" . as_ptr () as * const c_char) ; table . was_string_packet = (gd_api . godot_method_bind_get_method) (class_name , "was_string_packet\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:262:5646
[INFO] [stdout]     |
[INFO] [stdout] 262 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 # [doc = "`core class GridContainer` inherits `Container` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_gridcontainer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`GridContainer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<GridContainer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nGridContainer inherits methods from:\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct GridContainer { this : RawObject < Self > , } impl GridContainer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = GridContainerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The number of columns in the [GridContainer]. If modified, [GridContainer] reorders its Control-derived children to accommodate the new layout."] # [doc = ""] # [inline] pub fn columns (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GridContainerMethodTable :: get (get_api ()) . get_columns ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The number of columns in the [GridContainer]. If modified, [GridContainer] reorders its Control-derived children to accommodate the new layout."] # [doc = ""] # [inline] pub fn set_columns (& self , columns : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GridContainerMethodTable :: get (get_api ()) . set_columns ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , columns) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for GridContainer { } unsafe impl GodotObject for GridContainer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "GridContainer" } } impl QueueFree for GridContainer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for GridContainer { type Target = crate :: generated :: container :: Container ; # [inline] fn deref (& self) -> & crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for GridContainer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: container :: Container > for GridContainer { } unsafe impl SubClass < crate :: generated :: control :: Control > for GridContainer { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for GridContainer { } unsafe impl SubClass < crate :: generated :: node :: Node > for GridContainer { } unsafe impl SubClass < crate :: generated :: object :: Object > for GridContainer { } impl Instanciable for GridContainer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { GridContainer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct GridContainerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_columns : * mut sys :: godot_method_bind , pub set_columns : * mut sys :: godot_method_bind } impl GridContainerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : GridContainerMethodTable = GridContainerMethodTable { class_constructor : None , get_columns : 0 as * mut sys :: godot_method_bind , set_columns : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { GridContainerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "GridContainer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_columns = (gd_api . godot_method_bind_get_method) (class_name , "get_columns\0" . as_ptr () as * const c_char) ; table . set_columns = (gd_api . godot_method_bind_get_method) (class_name , "set_columns\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:268:5442
[INFO] [stdout]     |
[INFO] [stdout] 268 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 # [doc = "`core class ARVROrigin` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrorigin.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`ARVROrigin` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<ARVROrigin>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nARVROrigin inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVROrigin { this : RawObject < Self > , } impl ARVROrigin { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ARVROriginMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.\n**Note:** This method is a passthrough to the [ARVRServer] itself."] # [doc = ""] # [inline] pub fn world_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVROriginMethodTable :: get (get_api ()) . get_world_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.\n**Note:** This method is a passthrough to the [ARVRServer] itself."] # [doc = ""] # [inline] pub fn set_world_scale (& self , world_scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVROriginMethodTable :: get (get_api ()) . set_world_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , world_scale) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVROrigin { } unsafe impl GodotObject for ARVROrigin { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVROrigin" } } impl QueueFree for ARVROrigin { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for ARVROrigin { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVROrigin { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for ARVROrigin { } unsafe impl SubClass < crate :: generated :: node :: Node > for ARVROrigin { } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVROrigin { } impl Instanciable for ARVROrigin { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ARVROrigin :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVROriginMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_world_scale : * mut sys :: godot_method_bind , pub set_world_scale : * mut sys :: godot_method_bind } impl ARVROriginMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVROriginMethodTable = ARVROriginMethodTable { class_constructor : None , get_world_scale : 0 as * mut sys :: godot_method_bind , set_world_scale : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVROriginMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVROrigin\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_world_scale\0" . as_ptr () as * const c_char) ; table . set_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_world_scale\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:274:6442
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 # [doc = "`core class AudioEffectRecord` inherits `AudioEffect` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectrecord.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectRecord inherits methods from:\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectRecord { this : RawObject < Self > , } impl AudioEffectRecord { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectRecordMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Specifies the format in which the sample will be recorded. See [enum AudioStreamSample.Format] for available formats."] # [doc = ""] # [inline] pub fn format (& self) -> crate :: generated :: audio_stream_sample :: Format { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . get_format ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: audio_stream_sample :: Format (ret) } } # [doc = "Returns the recorded sample."] # [doc = ""] # [inline] pub fn get_recording (& self) -> Option < Ref < crate :: generated :: audio_stream_sample :: AudioStreamSample , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . get_recording ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: audio_stream_sample :: AudioStreamSample , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns whether the recording is active or not."] # [doc = ""] # [inline] pub fn is_recording_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . is_recording_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Specifies the format in which the sample will be recorded. See [enum AudioStreamSample.Format] for available formats."] # [doc = ""] # [inline] pub fn set_format (& self , format : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . set_format ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , format) ; } } # [doc = "If `true`, the sound will be recorded. Note that restarting the recording will remove the previously recorded sample."] # [doc = ""] # [inline] pub fn set_recording_active (& self , record : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . set_recording_active ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , record) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectRecord { } unsafe impl GodotObject for AudioEffectRecord { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectRecord" } } impl std :: ops :: Deref for AudioEffectRecord { type Target = crate :: generated :: audio_effect :: AudioEffect ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectRecord { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectRecord { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectRecord { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectRecord { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectRecord { } impl Instanciable for AudioEffectRecord { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectRecord :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectRecordMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_format : * mut sys :: godot_method_bind , pub get_recording : * mut sys :: godot_method_bind , pub is_recording_active : * mut sys :: godot_method_bind , pub set_format : * mut sys :: godot_method_bind , pub set_recording_active : * mut sys :: godot_method_bind } impl AudioEffectRecordMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectRecordMethodTable = AudioEffectRecordMethodTable { class_constructor : None , get_format : 0 as * mut sys :: godot_method_bind , get_recording : 0 as * mut sys :: godot_method_bind , is_recording_active : 0 as * mut sys :: godot_method_bind , set_format : 0 as * mut sys :: godot_method_bind , set_recording_active : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectRecordMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectRecord\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_format = (gd_api . godot_method_bind_get_method) (class_name , "get_format\0" . as_ptr () as * const c_char) ; table . get_recording = (gd_api . godot_method_bind_get_method) (class_name , "get_recording\0" . as_ptr () as * const c_char) ; table . is_recording_active = (gd_api . godot_method_bind_get_method) (class_name , "is_recording_active\0" . as_ptr () as * const c_char) ; table . set_format = (gd_api . godot_method_bind_get_method) (class_name , "set_format\0" . as_ptr () as * const c_char) ; table . set_recording_active = (gd_api . godot_method_bind_get_method) (class_name , "set_recording_active\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:280:13362
[INFO] [stdout]     |
[INFO] [stdout] 280 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 # [doc = "`core class MeshInstance` inherits `GeometryInstance` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_meshinstance.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`MeshInstance` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<MeshInstance>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nMeshInstance inherits methods from:\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MeshInstance { this : RawObject < Self > , } impl MeshInstance { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MeshInstanceMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "This helper creates a [StaticBody] child node with a [ConvexPolygonShape] collision shape calculated from the mesh geometry. It's mainly used for testing."] # [doc = ""] # [inline] pub fn create_convex_collision (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . create_convex_collision ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "This helper creates a [MeshInstance] child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing."] # [doc = ""] # [inline] pub fn create_debug_tangents (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . create_debug_tangents ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "This helper creates a [StaticBody] child node with a [ConcavePolygonShape] collision shape calculated from the mesh geometry. It's mainly used for testing."] # [doc = ""] # [inline] pub fn create_trimesh_collision (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . create_trimesh_collision ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn get_active_material (& self , surface : i64) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_active_material ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , surface) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Mesh] resource for the instance."] # [doc = ""] # [inline] pub fn mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "[NodePath] to the [Skeleton] associated with the instance."] # [doc = ""] # [inline] pub fn skeleton_path (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_skeleton_path ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "Sets the skin to be used by this instance."] # [doc = ""] # [inline] pub fn skin (& self) -> Option < Ref < crate :: generated :: skin :: Skin , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_skin ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: skin :: Skin , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the [Material] for a surface of the [Mesh] resource."] # [doc = ""] # [inline] pub fn get_surface_material (& self , surface : i64) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_surface_material ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , surface) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of surface materials."] # [doc = ""] # [inline] pub fn get_surface_material_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_surface_material_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_software_skinning_transform_normals_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . is_software_skinning_transform_normals_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The [Mesh] resource for the instance."] # [doc = ""] # [inline] pub fn set_mesh (& self , mesh : impl AsArg < crate :: generated :: mesh :: Mesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_mesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr ()) ; } } # [doc = "[NodePath] to the [Skeleton] associated with the instance."] # [doc = ""] # [inline] pub fn set_skeleton_path (& self , skeleton_path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_skeleton_path ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , skeleton_path . into ()) ; } } # [doc = "Sets the skin to be used by this instance."] # [doc = ""] # [inline] pub fn set_skin (& self , skin : impl AsArg < crate :: generated :: skin :: Skin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_skin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , skin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_software_skinning_transform_normals (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_software_skinning_transform_normals ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "Sets the [Material] for a surface of the [Mesh] resource."] # [doc = ""] # [inline] pub fn set_surface_material (& self , surface : i64 , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_surface_material ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , surface , material . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MeshInstance { } unsafe impl GodotObject for MeshInstance { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "MeshInstance" } } impl QueueFree for MeshInstance { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for MeshInstance { type Target = crate :: generated :: geometry_instance :: GeometryInstance ; # [inline] fn deref (& self) -> & crate :: generated :: geometry_instance :: GeometryInstance { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MeshInstance { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: geometry_instance :: GeometryInstance { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for MeshInstance { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for MeshInstance { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for MeshInstance { } unsafe impl SubClass < crate :: generated :: node :: Node > for MeshInstance { } unsafe impl SubClass < crate :: generated :: object :: Object > for MeshInstance { } impl Instanciable for MeshInstance { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MeshInstance :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MeshInstanceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub create_convex_collision : * mut sys :: godot_method_bind , pub create_debug_tangents : * mut sys :: godot_method_bind , pub create_trimesh_collision : * mut sys :: godot_method_bind , pub get_active_material : * mut sys :: godot_method_bind , pub get_mesh : * mut sys :: godot_method_bind , pub get_skeleton_path : * mut sys :: godot_method_bind , pub get_skin : * mut sys :: godot_method_bind , pub get_surface_material : * mut sys :: godot_method_bind , pub get_surface_material_count : * mut sys :: godot_method_bind , pub is_software_skinning_transform_normals_enabled : * mut sys :: godot_method_bind , pub set_mesh : * mut sys :: godot_method_bind , pub set_skeleton_path : * mut sys :: godot_method_bind , pub set_skin : * mut sys :: godot_method_bind , pub set_software_skinning_transform_normals : * mut sys :: godot_method_bind , pub set_surface_material : * mut sys :: godot_method_bind } impl MeshInstanceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MeshInstanceMethodTable = MeshInstanceMethodTable { class_constructor : None , create_convex_collision : 0 as * mut sys :: godot_method_bind , create_debug_tangents : 0 as * mut sys :: godot_method_bind , create_trimesh_collision : 0 as * mut sys :: godot_method_bind , get_active_material : 0 as * mut sys :: godot_method_bind , get_mesh : 0 as * mut sys :: godot_method_bind , get_skeleton_path : 0 as * mut sys :: godot_method_bind , get_skin : 0 as * mut sys :: godot_method_bind , get_surface_material : 0 as * mut sys :: godot_method_bind , get_surface_material_count : 0 as * mut sys :: godot_method_bind , is_software_skinning_transform_normals_enabled : 0 as * mut sys :: godot_method_bind , set_mesh : 0 as * mut sys :: godot_method_bind , set_skeleton_path : 0 as * mut sys :: godot_method_bind , set_skin : 0 as * mut sys :: godot_method_bind , set_software_skinning_transform_normals : 0 as * mut sys :: godot_method_bind , set_surface_material : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MeshInstanceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MeshInstance\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . create_convex_collision = (gd_api . godot_method_bind_get_method) (class_name , "create_convex_collision\0" . as_ptr () as * const c_char) ; table . create_debug_tangents = (gd_api . godot_method_bind_get_method) (class_name , "create_debug_tangents\0" . as_ptr () as * const c_char) ; table . create_trimesh_collision = (gd_api . godot_method_bind_get_method) (class_name , "create_trimesh_collision\0" . as_ptr () as * const c_char) ; table . get_active_material = (gd_api . godot_method_bind_get_method) (class_name , "get_active_material\0" . as_ptr () as * const c_char) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . get_skeleton_path = (gd_api . godot_method_bind_get_method) (class_name , "get_skeleton_path\0" . as_ptr () as * const c_char) ; table . get_skin = (gd_api . godot_method_bind_get_method) (class_name , "get_skin\0" . as_ptr () as * const c_char) ; table . get_surface_material = (gd_api . godot_method_bind_get_method) (class_name , "get_surface_material\0" . as_ptr () as * const c_char) ; table . get_surface_material_count = (gd_api . godot_method_bind_get_method) (class_name , "get_surface_material_count\0" . as_ptr () as * const c_char) ; table . is_software_skinning_transform_normals_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_software_skinning_transform_normals_enabled\0" . as_ptr () as * const c_char) ; table . set_mesh = (gd_api . godot_method_bind_get_method) (class_name , "set_mesh\0" . as_ptr () as * const c_char) ; table . set_skeleton_path = (gd_api . godot_method_bind_get_method) (class_name , "set_skeleton_path\0" . as_ptr () as * const c_char) ; table . set_skin = (gd_api . godot_method_bind_get_method) (class_name , "set_skin\0" . as_ptr () as * const c_char) ; table . set_software_skinning_transform_normals = (gd_api . godot_method_bind_get_method) (class_name , "set_software_skinning_transform_normals\0" . as_ptr () as * const c_char) ; table . set_surface_material = (gd_api . godot_method_bind_get_method) (class_name , "set_surface_material\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:286:7903
[INFO] [stdout]     |
[INFO] [stdout] 286 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 286 |                 # [doc = "`core class AudioEffectFilter` inherits `AudioEffect` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectfilter.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectFilter inherits methods from:\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectFilter { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct FilterDb (pub i64) ; impl FilterDb { pub const _6DB : FilterDb = FilterDb (0i64) ; pub const _12DB : FilterDb = FilterDb (1i64) ; pub const _18DB : FilterDb = FilterDb (2i64) ; pub const _24DB : FilterDb = FilterDb (3i64) ; } impl From < i64 > for FilterDb { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < FilterDb > for i64 { # [inline] fn from (v : FilterDb) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AudioEffectFilter { pub const FILTER_12DB : i64 = 1i64 ; pub const FILTER_18DB : i64 = 2i64 ; pub const FILTER_24DB : i64 = 3i64 ; pub const FILTER_6DB : i64 = 0i64 ; } impl AudioEffectFilter { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectFilterMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Threshold frequency for the filter, in Hz."] # [doc = ""] # [inline] pub fn cutoff (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_cutoff ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn db (& self) -> crate :: generated :: audio_effect_filter :: FilterDb { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_db ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: audio_effect_filter :: FilterDb (ret) } } # [doc = "Gain amount of the frequencies after the filter."] # [doc = ""] # [inline] pub fn gain (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_gain ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Amount of boost in the frequency range near the cutoff frequency."] # [doc = ""] # [inline] pub fn resonance (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_resonance ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Threshold frequency for the filter, in Hz."] # [doc = ""] # [inline] pub fn set_cutoff (& self , freq : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_cutoff ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , freq) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_db (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_db ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "Gain amount of the frequencies after the filter."] # [doc = ""] # [inline] pub fn set_gain (& self , amount : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_gain ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "Amount of boost in the frequency range near the cutoff frequency."] # [doc = ""] # [inline] pub fn set_resonance (& self , amount : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_resonance ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectFilter { } unsafe impl GodotObject for AudioEffectFilter { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectFilter" } } impl std :: ops :: Deref for AudioEffectFilter { type Target = crate :: generated :: audio_effect :: AudioEffect ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectFilter { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectFilter { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectFilter { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectFilter { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectFilter { } impl Instanciable for AudioEffectFilter { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectFilter :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectFilterMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cutoff : * mut sys :: godot_method_bind , pub get_db : * mut sys :: godot_method_bind , pub get_gain : * mut sys :: godot_method_bind , pub get_resonance : * mut sys :: godot_method_bind , pub set_cutoff : * mut sys :: godot_method_bind , pub set_db : * mut sys :: godot_method_bind , pub set_gain : * mut sys :: godot_method_bind , pub set_resonance : * mut sys :: godot_method_bind } impl AudioEffectFilterMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectFilterMethodTable = AudioEffectFilterMethodTable { class_constructor : None , get_cutoff : 0 as * mut sys :: godot_method_bind , get_db : 0 as * mut sys :: godot_method_bind , get_gain : 0 as * mut sys :: godot_method_bind , get_resonance : 0 as * mut sys :: godot_method_bind , set_cutoff : 0 as * mut sys :: godot_method_bind , set_db : 0 as * mut sys :: godot_method_bind , set_gain : 0 as * mut sys :: godot_method_bind , set_resonance : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectFilterMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectFilter\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cutoff = (gd_api . godot_method_bind_get_method) (class_name , "get_cutoff\0" . as_ptr () as * const c_char) ; table . get_db = (gd_api . godot_method_bind_get_method) (class_name , "get_db\0" . as_ptr () as * const c_char) ; table . get_gain = (gd_api . godot_method_bind_get_method) (class_name , "get_gain\0" . as_ptr () as * const c_char) ; table . get_resonance = (gd_api . godot_method_bind_get_method) (class_name , "get_resonance\0" . as_ptr () as * const c_char) ; table . set_cutoff = (gd_api . godot_method_bind_get_method) (class_name , "set_cutoff\0" . as_ptr () as * const c_char) ; table . set_db = (gd_api . godot_method_bind_get_method) (class_name , "set_db\0" . as_ptr () as * const c_char) ; table . set_gain = (gd_api . godot_method_bind_get_method) (class_name , "set_gain\0" . as_ptr () as * const c_char) ; table . set_resonance = (gd_api . godot_method_bind_get_method) (class_name , "set_resonance\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:292:7570
[INFO] [stdout]     |
[INFO] [stdout] 292 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 # [doc = "`core class AudioEffectLimiter` inherits `AudioEffect` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectlimiter.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectLimiter inherits methods from:\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectLimiter { this : RawObject < Self > , } impl AudioEffectLimiter { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectLimiterMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The waveform's maximum allowed value, in decibels. Value can range from -20 to -0.1."] # [doc = ""] # [inline] pub fn ceiling_db (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . get_ceiling_db ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Applies a gain to the limited waves, in decibels. Value can range from 0 to 6."] # [doc = ""] # [inline] pub fn soft_clip_db (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . get_soft_clip_db ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn soft_clip_ratio (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . get_soft_clip_ratio ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Threshold from which the limiter begins to be active, in decibels. Value can range from -30 to 0."] # [doc = ""] # [inline] pub fn threshold_db (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . get_threshold_db ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The waveform's maximum allowed value, in decibels. Value can range from -20 to -0.1."] # [doc = ""] # [inline] pub fn set_ceiling_db (& self , ceiling : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . set_ceiling_db ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , ceiling) ; } } # [doc = "Applies a gain to the limited waves, in decibels. Value can range from 0 to 6."] # [doc = ""] # [inline] pub fn set_soft_clip_db (& self , soft_clip : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . set_soft_clip_db ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , soft_clip) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_soft_clip_ratio (& self , soft_clip : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . set_soft_clip_ratio ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , soft_clip) ; } } # [doc = "Threshold from which the limiter begins to be active, in decibels. Value can range from -30 to 0."] # [doc = ""] # [inline] pub fn set_threshold_db (& self , threshold : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectLimiterMethodTable :: get (get_api ()) . set_threshold_db ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , threshold) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectLimiter { } unsafe impl GodotObject for AudioEffectLimiter { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectLimiter" } } impl std :: ops :: Deref for AudioEffectLimiter { type Target = crate :: generated :: audio_effect :: AudioEffect ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectLimiter { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectLimiter { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectLimiter { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectLimiter { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectLimiter { } impl Instanciable for AudioEffectLimiter { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectLimiter :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectLimiterMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_ceiling_db : * mut sys :: godot_method_bind , pub get_soft_clip_db : * mut sys :: godot_method_bind , pub get_soft_clip_ratio : * mut sys :: godot_method_bind , pub get_threshold_db : * mut sys :: godot_method_bind , pub set_ceiling_db : * mut sys :: godot_method_bind , pub set_soft_clip_db : * mut sys :: godot_method_bind , pub set_soft_clip_ratio : * mut sys :: godot_method_bind , pub set_threshold_db : * mut sys :: godot_method_bind } impl AudioEffectLimiterMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectLimiterMethodTable = AudioEffectLimiterMethodTable { class_constructor : None , get_ceiling_db : 0 as * mut sys :: godot_method_bind , get_soft_clip_db : 0 as * mut sys :: godot_method_bind , get_soft_clip_ratio : 0 as * mut sys :: godot_method_bind , get_threshold_db : 0 as * mut sys :: godot_method_bind , set_ceiling_db : 0 as * mut sys :: godot_method_bind , set_soft_clip_db : 0 as * mut sys :: godot_method_bind , set_soft_clip_ratio : 0 as * mut sys :: godot_method_bind , set_threshold_db : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectLimiterMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectLimiter\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_ceiling_db = (gd_api . godot_method_bind_get_method) (class_name , "get_ceiling_db\0" . as_ptr () as * const c_char) ; table . get_soft_clip_db = (gd_api . godot_method_bind_get_method) (class_name , "get_soft_clip_db\0" . as_ptr () as * const c_char) ; table . get_soft_clip_ratio = (gd_api . godot_method_bind_get_method) (class_name , "get_soft_clip_ratio\0" . as_ptr () as * const c_char) ; table . get_threshold_db = (gd_api . godot_method_bind_get_method) (class_name , "get_threshold_db\0" . as_ptr () as * const c_char) ; table . set_ceiling_db = (gd_api . godot_method_bind_get_method) (class_name , "set_ceiling_db\0" . as_ptr () as * const c_char) ; table . set_soft_clip_db = (gd_api . godot_method_bind_get_method) (class_name , "set_soft_clip_db\0" . as_ptr () as * const c_char) ; table . set_soft_clip_ratio = (gd_api . godot_method_bind_get_method) (class_name , "set_soft_clip_ratio\0" . as_ptr () as * const c_char) ; table . set_threshold_db = (gd_api . godot_method_bind_get_method) (class_name , "set_threshold_db\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:298:33429
[INFO] [stdout]     |
[INFO] [stdout] 298 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 # [doc = "`core class RigidBody` inherits `PhysicsBody` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_rigidbody.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`RigidBody` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<RigidBody>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nRigidBody inherits methods from:\n - [PhysicsBody](struct.PhysicsBody.html)\n - [CollisionObject](struct.CollisionObject.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct RigidBody { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Mode (pub i64) ; impl Mode { pub const RIGID : Mode = Mode (0i64) ; pub const STATIC : Mode = Mode (1i64) ; pub const CHARACTER : Mode = Mode (2i64) ; pub const KINEMATIC : Mode = Mode (3i64) ; } impl From < i64 > for Mode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Mode > for i64 { # [inline] fn from (v : Mode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl RigidBody { pub const MODE_CHARACTER : i64 = 2i64 ; pub const MODE_KINEMATIC : i64 = 3i64 ; pub const MODE_RIGID : i64 = 0i64 ; pub const MODE_STATIC : i64 = 1i64 ; } impl RigidBody { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = RigidBodyMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a constant directional force (i.e. acceleration) without affecting rotation.\nThis is equivalent to `add_force(force, Vector3(0,0,0))`."] # [doc = ""] # [inline] pub fn add_central_force (& self , force : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . add_central_force ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , force) ; } } # [doc = "Adds a constant directional force (i.e. acceleration).\nThe position uses the rotation of the global coordinate system, but is centered at the object's origin."] # [doc = ""] # [inline] pub fn add_force (& self , force : Vector3 , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . add_force ; let ret = crate :: icalls :: icallptr_void_vec3_vec3 (method_bind , self . this . sys () . as_ptr () , force , position) ; } } # [doc = "Adds a constant rotational force (i.e. a motor) without affecting position."] # [doc = ""] # [inline] pub fn add_torque (& self , torque : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . add_torque ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , torque) ; } } # [doc = "Applies a directional impulse without affecting rotation.\nThis is equivalent to `apply_impulse(Vector3(0,0,0), impulse)`."] # [doc = ""] # [inline] pub fn apply_central_impulse (& self , impulse : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . apply_central_impulse ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , impulse) ; } } # [doc = "Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin."] # [doc = ""] # [inline] pub fn apply_impulse (& self , position : Vector3 , impulse : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . apply_impulse ; let ret = crate :: icalls :: icallptr_void_vec3_vec3 (method_bind , self . this . sys () . as_ptr () , position , impulse) ; } } # [doc = "Applies a torque impulse which will be affected by the body mass and shape. This will rotate the body around the `impulse` vector passed."] # [doc = ""] # [inline] pub fn apply_torque_impulse (& self , impulse : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . apply_torque_impulse ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , impulse) ; } } # [doc = "Damps RigidBody's rotational forces."] # [doc = ""] # [inline] pub fn angular_damp (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_angular_damp ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "RigidBody's rotational velocity."] # [doc = ""] # [inline] pub fn angular_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_angular_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Lock the body's movement in the Z axis."] # [doc = ""] # [inline] pub fn axis_lock (& self , axis : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_axis_lock ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , axis) ; ret as _ } } # [doc = "The body's bounciness. Values range from `0` (no bounce) to `1` (full bounciness).\nDeprecated, use [member PhysicsMaterial.bounce] instead via [member physics_material_override]."] # [doc = ""] # [inline] pub fn bounce (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_bounce ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a list of the bodies colliding with this one. Requires [member contact_monitor] to be set to `true` and [member contacts_reported] to be set high enough to detect all the collisions.\n**Note:** The result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead."] # [doc = ""] # [inline] pub fn get_colliding_bodies (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_colliding_bodies ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The body's friction, from 0 (frictionless) to 1 (max friction).\nDeprecated, use [member PhysicsMaterial.friction] instead via [member physics_material_override]."] # [doc = ""] # [inline] pub fn friction (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_friction ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "This is multiplied by the global 3D gravity setting found in **Project > Project Settings > Physics > 3d** to produce RigidBody's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object."] # [doc = ""] # [inline] pub fn gravity_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_gravity_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the inverse inertia tensor basis. This is used to calculate the angular acceleration resulting from a torque applied to the RigidBody."] # [doc = ""] # [inline] pub fn get_inverse_inertia_tensor (& self) -> Basis { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_inverse_inertia_tensor ; let ret = crate :: icalls :: icallptr_basis (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The body's linear damp. Cannot be less than -1.0. If this value is different from -1.0, any linear damp derived from the world or areas will be overridden."] # [doc = ""] # [inline] pub fn linear_damp (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_linear_damp ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The body's linear velocity. Can be used sporadically, but **don't set this every frame**, because physics may run in another thread and runs at a different granularity. Use [method _integrate_forces] as your process loop for precise control of the body state."] # [doc = ""] # [inline] pub fn linear_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_linear_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The body's mass."] # [doc = ""] # [inline] pub fn mass (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_mass ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The maximum number of contacts that will be recorded. Requires [member contact_monitor] to be set to `true`.\n**Note:** The number of contacts is different from the number of collisions. Collisions between parallel edges will result in two contacts (one at each end), and collisions between parallel faces will result in four contacts (one at each corner)."] # [doc = ""] # [inline] pub fn max_contacts_reported (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_max_contacts_reported ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The body mode. See [enum Mode] for possible values."] # [doc = ""] # [inline] pub fn mode (& self) -> crate :: generated :: rigid_body :: Mode { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: rigid_body :: Mode (ret) } } # [doc = "The physics material override for the body.\nIf a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one."] # [doc = ""] # [inline] pub fn physics_material_override (& self) -> Option < Ref < crate :: generated :: physics_material :: PhysicsMaterial , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_physics_material_override ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: physics_material :: PhysicsMaterial , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The body's weight based on its mass and the global 3D gravity. Global values are set in **Project > Project Settings > Physics > 3d**."] # [doc = ""] # [inline] pub fn weight (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . get_weight ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the body can enter sleep mode when there is no movement. See [member sleeping].\n**Note:** A RigidBody3D will never enter sleep mode automatically if its [member mode] is [constant MODE_CHARACTER]. It can still be put to sleep manually by setting its [member sleeping] property to `true`."] # [doc = ""] # [inline] pub fn is_able_to_sleep (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . is_able_to_sleep ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the RigidBody will emit signals when it collides with another RigidBody. See also [member contacts_reported]."] # [doc = ""] # [inline] pub fn is_contact_monitor_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . is_contact_monitor_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the body will not move and will not calculate forces until woken up by another body through, for example, a collision, or by using the [method apply_impulse] or [method add_force] methods."] # [doc = ""] # [inline] pub fn is_sleeping (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . is_sleeping ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, continuous collision detection is used.\nContinuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. Continuous collision detection is more precise, and misses fewer impacts by small, fast-moving objects. Not using continuous collision detection is faster to compute, but can miss small, fast-moving objects."] # [doc = ""] # [inline] pub fn is_using_continuous_collision_detection (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . is_using_continuous_collision_detection ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined."] # [doc = ""] # [inline] pub fn is_using_custom_integrator (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . is_using_custom_integrator ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Damps RigidBody's rotational forces."] # [doc = ""] # [inline] pub fn set_angular_damp (& self , angular_damp : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_angular_damp ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , angular_damp) ; } } # [doc = "RigidBody's rotational velocity."] # [doc = ""] # [inline] pub fn set_angular_velocity (& self , angular_velocity : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_angular_velocity ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , angular_velocity) ; } } # [doc = "Lock the body's movement in the Z axis."] # [doc = ""] # [inline] pub fn set_axis_lock (& self , axis : i64 , lock : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_axis_lock ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , axis , lock) ; } } # [doc = "Sets an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior."] # [doc = ""] # [inline] pub fn set_axis_velocity (& self , axis_velocity : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_axis_velocity ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , axis_velocity) ; } } # [doc = "The body's bounciness. Values range from `0` (no bounce) to `1` (full bounciness).\nDeprecated, use [member PhysicsMaterial.bounce] instead via [member physics_material_override]."] # [doc = ""] # [inline] pub fn set_bounce (& self , bounce : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_bounce ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , bounce) ; } } # [doc = "If `true`, the body can enter sleep mode when there is no movement. See [member sleeping].\n**Note:** A RigidBody3D will never enter sleep mode automatically if its [member mode] is [constant MODE_CHARACTER]. It can still be put to sleep manually by setting its [member sleeping] property to `true`."] # [doc = ""] # [inline] pub fn set_can_sleep (& self , able_to_sleep : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_can_sleep ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , able_to_sleep) ; } } # [doc = "If `true`, the RigidBody will emit signals when it collides with another RigidBody. See also [member contacts_reported]."] # [doc = ""] # [inline] pub fn set_contact_monitor (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_contact_monitor ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The body's friction, from 0 (frictionless) to 1 (max friction).\nDeprecated, use [member PhysicsMaterial.friction] instead via [member physics_material_override]."] # [doc = ""] # [inline] pub fn set_friction (& self , friction : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_friction ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , friction) ; } } # [doc = "This is multiplied by the global 3D gravity setting found in **Project > Project Settings > Physics > 3d** to produce RigidBody's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object."] # [doc = ""] # [inline] pub fn set_gravity_scale (& self , gravity_scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_gravity_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , gravity_scale) ; } } # [doc = "The body's linear damp. Cannot be less than -1.0. If this value is different from -1.0, any linear damp derived from the world or areas will be overridden."] # [doc = ""] # [inline] pub fn set_linear_damp (& self , linear_damp : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_linear_damp ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , linear_damp) ; } } # [doc = "The body's linear velocity. Can be used sporadically, but **don't set this every frame**, because physics may run in another thread and runs at a different granularity. Use [method _integrate_forces] as your process loop for precise control of the body state."] # [doc = ""] # [inline] pub fn set_linear_velocity (& self , linear_velocity : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_linear_velocity ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , linear_velocity) ; } } # [doc = "The body's mass."] # [doc = ""] # [inline] pub fn set_mass (& self , mass : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_mass ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , mass) ; } } # [doc = "The maximum number of contacts that will be recorded. Requires [member contact_monitor] to be set to `true`.\n**Note:** The number of contacts is different from the number of collisions. Collisions between parallel edges will result in two contacts (one at each end), and collisions between parallel faces will result in four contacts (one at each corner)."] # [doc = ""] # [inline] pub fn set_max_contacts_reported (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_max_contacts_reported ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "The body mode. See [enum Mode] for possible values."] # [doc = ""] # [inline] pub fn set_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The physics material override for the body.\nIf a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one."] # [doc = ""] # [inline] pub fn set_physics_material_override (& self , physics_material_override : impl AsArg < crate :: generated :: physics_material :: PhysicsMaterial >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_physics_material_override ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , physics_material_override . as_arg_ptr ()) ; } } # [doc = "If `true`, the body will not move and will not calculate forces until woken up by another body through, for example, a collision, or by using the [method apply_impulse] or [method add_force] methods."] # [doc = ""] # [inline] pub fn set_sleeping (& self , sleeping : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_sleeping ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , sleeping) ; } } # [doc = "If `true`, continuous collision detection is used.\nContinuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. Continuous collision detection is more precise, and misses fewer impacts by small, fast-moving objects. Not using continuous collision detection is faster to compute, but can miss small, fast-moving objects."] # [doc = ""] # [inline] pub fn set_use_continuous_collision_detection (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_use_continuous_collision_detection ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined."] # [doc = ""] # [inline] pub fn set_use_custom_integrator (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_use_custom_integrator ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The body's weight based on its mass and the global 3D gravity. Global values are set in **Project > Project Settings > Physics > 3d**."] # [doc = ""] # [inline] pub fn set_weight (& self , weight : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RigidBodyMethodTable :: get (get_api ()) . set_weight ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , weight) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for RigidBody { } unsafe impl GodotObject for RigidBody { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "RigidBody" } } impl QueueFree for RigidBody { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for RigidBody { type Target = crate :: generated :: physics_body :: PhysicsBody ; # [inline] fn deref (& self) -> & crate :: generated :: physics_body :: PhysicsBody { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for RigidBody { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: physics_body :: PhysicsBody { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: physics_body :: PhysicsBody > for RigidBody { } unsafe impl SubClass < crate :: generated :: collision_object :: CollisionObject > for RigidBody { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for RigidBody { } unsafe impl SubClass < crate :: generated :: node :: Node > for RigidBody { } unsafe impl SubClass < crate :: generated :: object :: Object > for RigidBody { } impl Instanciable for RigidBody { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { RigidBody :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct RigidBodyMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_central_force : * mut sys :: godot_method_bind , pub add_force : * mut sys :: godot_method_bind , pub add_torque : * mut sys :: godot_method_bind , pub apply_central_impulse : * mut sys :: godot_method_bind , pub apply_impulse : * mut sys :: godot_method_bind , pub apply_torque_impulse : * mut sys :: godot_method_bind , pub get_angular_damp : * mut sys :: godot_method_bind , pub get_angular_velocity : * mut sys :: godot_method_bind , pub get_axis_lock : * mut sys :: godot_method_bind , pub get_bounce : * mut sys :: godot_method_bind , pub get_colliding_bodies : * mut sys :: godot_method_bind , pub get_friction : * mut sys :: godot_method_bind , pub get_gravity_scale : * mut sys :: godot_method_bind , pub get_inverse_inertia_tensor : * mut sys :: godot_method_bind , pub get_linear_damp : * mut sys :: godot_method_bind , pub get_linear_velocity : * mut sys :: godot_method_bind , pub get_mass : * mut sys :: godot_method_bind , pub get_max_contacts_reported : * mut sys :: godot_method_bind , pub get_mode : * mut sys :: godot_method_bind , pub get_physics_material_override : * mut sys :: godot_method_bind , pub get_weight : * mut sys :: godot_method_bind , pub is_able_to_sleep : * mut sys :: godot_method_bind , pub is_contact_monitor_enabled : * mut sys :: godot_method_bind , pub is_sleeping : * mut sys :: godot_method_bind , pub is_using_continuous_collision_detection : * mut sys :: godot_method_bind , pub is_using_custom_integrator : * mut sys :: godot_method_bind , pub set_angular_damp : * mut sys :: godot_method_bind , pub set_angular_velocity : * mut sys :: godot_method_bind , pub set_axis_lock : * mut sys :: godot_method_bind , pub set_axis_velocity : * mut sys :: godot_method_bind , pub set_bounce : * mut sys :: godot_method_bind , pub set_can_sleep : * mut sys :: godot_method_bind , pub set_contact_monitor : * mut sys :: godot_method_bind , pub set_friction : * mut sys :: godot_method_bind , pub set_gravity_scale : * mut sys :: godot_method_bind , pub set_linear_damp : * mut sys :: godot_method_bind , pub set_linear_velocity : * mut sys :: godot_method_bind , pub set_mass : * mut sys :: godot_method_bind , pub set_max_contacts_reported : * mut sys :: godot_method_bind , pub set_mode : * mut sys :: godot_method_bind , pub set_physics_material_override : * mut sys :: godot_method_bind , pub set_sleeping : * mut sys :: godot_method_bind , pub set_use_continuous_collision_detection : * mut sys :: godot_method_bind , pub set_use_custom_integrator : * mut sys :: godot_method_bind , pub set_weight : * mut sys :: godot_method_bind } impl RigidBodyMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : RigidBodyMethodTable = RigidBodyMethodTable { class_constructor : None , add_central_force : 0 as * mut sys :: godot_method_bind , add_force : 0 as * mut sys :: godot_method_bind , add_torque : 0 as * mut sys :: godot_method_bind , apply_central_impulse : 0 as * mut sys :: godot_method_bind , apply_impulse : 0 as * mut sys :: godot_method_bind , apply_torque_impulse : 0 as * mut sys :: godot_method_bind , get_angular_damp : 0 as * mut sys :: godot_method_bind , get_angular_velocity : 0 as * mut sys :: godot_method_bind , get_axis_lock : 0 as * mut sys :: godot_method_bind , get_bounce : 0 as * mut sys :: godot_method_bind , get_colliding_bodies : 0 as * mut sys :: godot_method_bind , get_friction : 0 as * mut sys :: godot_method_bind , get_gravity_scale : 0 as * mut sys :: godot_method_bind , get_inverse_inertia_tensor : 0 as * mut sys :: godot_method_bind , get_linear_damp : 0 as * mut sys :: godot_method_bind , get_linear_velocity : 0 as * mut sys :: godot_method_bind , get_mass : 0 as * mut sys :: godot_method_bind , get_max_contacts_reported : 0 as * mut sys :: godot_method_bind , get_mode : 0 as * mut sys :: godot_method_bind , get_physics_material_override : 0 as * mut sys :: godot_method_bind , get_weight : 0 as * mut sys :: godot_method_bind , is_able_to_sleep : 0 as * mut sys :: godot_method_bind , is_contact_monitor_enabled : 0 as * mut sys :: godot_method_bind , is_sleeping : 0 as * mut sys :: godot_method_bind , is_using_continuous_collision_detection : 0 as * mut sys :: godot_method_bind , is_using_custom_integrator : 0 as * mut sys :: godot_method_bind , set_angular_damp : 0 as * mut sys :: godot_method_bind , set_angular_velocity : 0 as * mut sys :: godot_method_bind , set_axis_lock : 0 as * mut sys :: godot_method_bind , set_axis_velocity : 0 as * mut sys :: godot_method_bind , set_bounce : 0 as * mut sys :: godot_method_bind , set_can_sleep : 0 as * mut sys :: godot_method_bind , set_contact_monitor : 0 as * mut sys :: godot_method_bind , set_friction : 0 as * mut sys :: godot_method_bind , set_gravity_scale : 0 as * mut sys :: godot_method_bind , set_linear_damp : 0 as * mut sys :: godot_method_bind , set_linear_velocity : 0 as * mut sys :: godot_method_bind , set_mass : 0 as * mut sys :: godot_method_bind , set_max_contacts_reported : 0 as * mut sys :: godot_method_bind , set_mode : 0 as * mut sys :: godot_method_bind , set_physics_material_override : 0 as * mut sys :: godot_method_bind , set_sleeping : 0 as * mut sys :: godot_method_bind , set_use_continuous_collision_detection : 0 as * mut sys :: godot_method_bind , set_use_custom_integrator : 0 as * mut sys :: godot_method_bind , set_weight : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { RigidBodyMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "RigidBody\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_central_force = (gd_api . godot_method_bind_get_method) (class_name , "add_central_force\0" . as_ptr () as * const c_char) ; table . add_force = (gd_api . godot_method_bind_get_method) (class_name , "add_force\0" . as_ptr () as * const c_char) ; table . add_torque = (gd_api . godot_method_bind_get_method) (class_name , "add_torque\0" . as_ptr () as * const c_char) ; table . apply_central_impulse = (gd_api . godot_method_bind_get_method) (class_name , "apply_central_impulse\0" . as_ptr () as * const c_char) ; table . apply_impulse = (gd_api . godot_method_bind_get_method) (class_name , "apply_impulse\0" . as_ptr () as * const c_char) ; table . apply_torque_impulse = (gd_api . godot_method_bind_get_method) (class_name , "apply_torque_impulse\0" . as_ptr () as * const c_char) ; table . get_angular_damp = (gd_api . godot_method_bind_get_method) (class_name , "get_angular_damp\0" . as_ptr () as * const c_char) ; table . get_angular_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_angular_velocity\0" . as_ptr () as * const c_char) ; table . get_axis_lock = (gd_api . godot_method_bind_get_method) (class_name , "get_axis_lock\0" . as_ptr () as * const c_char) ; table . get_bounce = (gd_api . godot_method_bind_get_method) (class_name , "get_bounce\0" . as_ptr () as * const c_char) ; table . get_colliding_bodies = (gd_api . godot_method_bind_get_method) (class_name , "get_colliding_bodies\0" . as_ptr () as * const c_char) ; table . get_friction = (gd_api . godot_method_bind_get_method) (class_name , "get_friction\0" . as_ptr () as * const c_char) ; table . get_gravity_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_gravity_scale\0" . as_ptr () as * const c_char) ; table . get_inverse_inertia_tensor = (gd_api . godot_method_bind_get_method) (class_name , "get_inverse_inertia_tensor\0" . as_ptr () as * const c_char) ; table . get_linear_damp = (gd_api . godot_method_bind_get_method) (class_name , "get_linear_damp\0" . as_ptr () as * const c_char) ; table . get_linear_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_linear_velocity\0" . as_ptr () as * const c_char) ; table . get_mass = (gd_api . godot_method_bind_get_method) (class_name , "get_mass\0" . as_ptr () as * const c_char) ; table . get_max_contacts_reported = (gd_api . godot_method_bind_get_method) (class_name , "get_max_contacts_reported\0" . as_ptr () as * const c_char) ; table . get_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_mode\0" . as_ptr () as * const c_char) ; table . get_physics_material_override = (gd_api . godot_method_bind_get_method) (class_name , "get_physics_material_override\0" . as_ptr () as * const c_char) ; table . get_weight = (gd_api . godot_method_bind_get_method) (class_name , "get_weight\0" . as_ptr () as * const c_char) ; table . is_able_to_sleep = (gd_api . godot_method_bind_get_method) (class_name , "is_able_to_sleep\0" . as_ptr () as * const c_char) ; table . is_contact_monitor_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_contact_monitor_enabled\0" . as_ptr () as * const c_char) ; table . is_sleeping = (gd_api . godot_method_bind_get_method) (class_name , "is_sleeping\0" . as_ptr () as * const c_char) ; table . is_using_continuous_collision_detection = (gd_api . godot_method_bind_get_method) (class_name , "is_using_continuous_collision_detection\0" . as_ptr () as * const c_char) ; table . is_using_custom_integrator = (gd_api . godot_method_bind_get_method) (class_name , "is_using_custom_integrator\0" . as_ptr () as * const c_char) ; table . set_angular_damp = (gd_api . godot_method_bind_get_method) (class_name , "set_angular_damp\0" . as_ptr () as * const c_char) ; table . set_angular_velocity = (gd_api . godot_method_bind_get_method) (class_name , "set_angular_velocity\0" . as_ptr () as * const c_char) ; table . set_axis_lock = (gd_api . godot_method_bind_get_method) (class_name , "set_axis_lock\0" . as_ptr () as * const c_char) ; table . set_axis_velocity = (gd_api . godot_method_bind_get_method) (class_name , "set_axis_velocity\0" . as_ptr () as * const c_char) ; table . set_bounce = (gd_api . godot_method_bind_get_method) (class_name , "set_bounce\0" . as_ptr () as * const c_char) ; table . set_can_sleep = (gd_api . godot_method_bind_get_method) (class_name , "set_can_sleep\0" . as_ptr () as * const c_char) ; table . set_contact_monitor = (gd_api . godot_method_bind_get_method) (class_name , "set_contact_monitor\0" . as_ptr () as * const c_char) ; table . set_friction = (gd_api . godot_method_bind_get_method) (class_name , "set_friction\0" . as_ptr () as * const c_char) ; table . set_gravity_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_gravity_scale\0" . as_ptr () as * const c_char) ; table . set_linear_damp = (gd_api . godot_method_bind_get_method) (class_name , "set_linear_damp\0" . as_ptr () as * const c_char) ; table . set_linear_velocity = (gd_api . godot_method_bind_get_method) (class_name , "set_linear_velocity\0" . as_ptr () as * const c_char) ; table . set_mass = (gd_api . godot_method_bind_get_method) (class_name , "set_mass\0" . as_ptr () as * const c_char) ; table . set_max_contacts_reported = (gd_api . godot_method_bind_get_method) (class_name , "set_max_contacts_reported\0" . as_ptr () as * const c_char) ; table . set_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_mode\0" . as_ptr () as * const c_char) ; table . set_physics_material_override = (gd_api . godot_method_bind_get_method) (class_name , "set_physics_material_override\0" . as_ptr () as * const c_char) ; table . set_sleeping = (gd_api . godot_method_bind_get_method) (class_name , "set_sleeping\0" . as_ptr () as * const c_char) ; table . set_use_continuous_collision_detection = (gd_api . godot_method_bind_get_method) (class_name , "set_use_continuous_collision_detection\0" . as_ptr () as * const c_char) ; table . set_use_custom_integrator = (gd_api . godot_method_bind_get_method) (class_name , "set_use_custom_integrator\0" . as_ptr () as * const c_char) ; table . set_weight = (gd_api . godot_method_bind_get_method) (class_name , "set_weight\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:304:4465
[INFO] [stdout]     |
[INFO] [stdout] 304 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 304 |                 # [doc = "`core class VSlider` inherits `Slider` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_vslider.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`VSlider` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<VSlider>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nVSlider inherits methods from:\n - [Slider](struct.Slider.html)\n - [Range](struct.Range.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VSlider { this : RawObject < Self > , } impl VSlider { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VSliderMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VSlider { } unsafe impl GodotObject for VSlider { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "VSlider" } } impl QueueFree for VSlider { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for VSlider { type Target = crate :: generated :: slider :: Slider ; # [inline] fn deref (& self) -> & crate :: generated :: slider :: Slider { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VSlider { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: slider :: Slider { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: slider :: Slider > for VSlider { } unsafe impl SubClass < crate :: generated :: range :: Range > for VSlider { } unsafe impl SubClass < crate :: generated :: control :: Control > for VSlider { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for VSlider { } unsafe impl SubClass < crate :: generated :: node :: Node > for VSlider { } unsafe impl SubClass < crate :: generated :: object :: Object > for VSlider { } impl Instanciable for VSlider { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VSlider :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VSliderMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VSliderMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VSliderMethodTable = VSliderMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VSliderMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VSlider\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:310:5187
[INFO] [stdout]     |
[INFO] [stdout] 310 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 # [doc = "`core class Path` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_path.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Path` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Path>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPath inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Path { this : RawObject < Self > , } impl Path { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PathMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "A [Curve3D] describing the path."] # [doc = ""] # [inline] pub fn curve (& self) -> Option < Ref < crate :: generated :: curve_3d :: Curve3D , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = PathMethodTable :: get (get_api ()) . get_curve ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: curve_3d :: Curve3D , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "A [Curve3D] describing the path."] # [doc = ""] # [inline] pub fn set_curve (& self , curve : impl AsArg < crate :: generated :: curve_3d :: Curve3D >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathMethodTable :: get (get_api ()) . set_curve ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , curve . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Path { } unsafe impl GodotObject for Path { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Path" } } impl QueueFree for Path { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Path { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Path { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for Path { } unsafe impl SubClass < crate :: generated :: node :: Node > for Path { } unsafe impl SubClass < crate :: generated :: object :: Object > for Path { } impl Instanciable for Path { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Path :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PathMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_curve : * mut sys :: godot_method_bind , pub set_curve : * mut sys :: godot_method_bind } impl PathMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PathMethodTable = PathMethodTable { class_constructor : None , get_curve : 0 as * mut sys :: godot_method_bind , set_curve : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PathMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Path\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_curve = (gd_api . godot_method_bind_get_method) (class_name , "get_curve\0" . as_ptr () as * const c_char) ; table . set_curve = (gd_api . godot_method_bind_get_method) (class_name , "set_curve\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:316:4189
[INFO] [stdout]     |
[INFO] [stdout] 316 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 # [doc = "`core class Position3D` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_position3d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Position3D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Position3D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPosition3D inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Position3D { this : RawObject < Self > , } impl Position3D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Position3DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for Position3D { } unsafe impl GodotObject for Position3D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Position3D" } } impl QueueFree for Position3D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Position3D { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Position3D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for Position3D { } unsafe impl SubClass < crate :: generated :: node :: Node > for Position3D { } unsafe impl SubClass < crate :: generated :: object :: Object > for Position3D { } impl Instanciable for Position3D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Position3D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Position3DMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl Position3DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Position3DMethodTable = Position3DMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Position3DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Position3D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:322:7307
[INFO] [stdout]     |
[INFO] [stdout] 322 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 # [doc = "`core class VisualShaderNode` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernode.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNode inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNode { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct PortType (pub i64) ; impl PortType { pub const SCALAR : PortType = PortType (0i64) ; pub const VECTOR : PortType = PortType (1i64) ; pub const BOOLEAN : PortType = PortType (2i64) ; pub const TRANSFORM : PortType = PortType (3i64) ; pub const SAMPLER : PortType = PortType (4i64) ; pub const MAX : PortType = PortType (5i64) ; } impl From < i64 > for PortType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < PortType > for i64 { # [inline] fn from (v : PortType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShaderNode { pub const PORT_TYPE_BOOLEAN : i64 = 2i64 ; pub const PORT_TYPE_MAX : i64 = 5i64 ; pub const PORT_TYPE_SAMPLER : i64 = 4i64 ; pub const PORT_TYPE_SCALAR : i64 = 0i64 ; pub const PORT_TYPE_TRANSFORM : i64 = 3i64 ; pub const PORT_TYPE_VECTOR : i64 = 1i64 ; } impl VisualShaderNode { # [doc = "Returns an [Array] containing default values for all of the input ports of the node in the form `[index0, value0, index1, value1, ...]`."] # [doc = ""] # [inline] pub fn default_input_values (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeMethodTable :: get (get_api ()) . get_default_input_values ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the default value of the input `port`."] # [doc = ""] # [inline] pub fn get_input_port_default_value (& self , port : i64) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeMethodTable :: get (get_api ()) . get_input_port_default_value ; let ret = crate :: icalls :: icallptr_var_i64 (method_bind , self . this . sys () . as_ptr () , port) ; Variant :: from_sys (ret) } } # [doc = "Sets the output port index which will be showed for preview. If set to `-1` no port will be open for preview."] # [doc = ""] # [inline] pub fn output_port_for_preview (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeMethodTable :: get (get_api ()) . get_output_port_for_preview ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Sets the default input ports values using an [Array] of the form `[index0, value0, index1, value1, ...]`. For example: `[0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)]`."] # [doc = ""] # [inline] pub fn set_default_input_values (& self , values : VariantArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeMethodTable :: get (get_api ()) . set_default_input_values ; let ret = crate :: icalls :: icallptr_void_arr (method_bind , self . this . sys () . as_ptr () , values) ; } } # [doc = "Sets the default value for the selected input `port`."] # [doc = ""] # [inline] pub fn set_input_port_default_value (& self , port : i64 , value : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeMethodTable :: get (get_api ()) . set_input_port_default_value ; let ret = crate :: icalls :: icallptr_void_i64_var (method_bind , self . this . sys () . as_ptr () , port , value . owned_to_variant ()) ; } } # [doc = "Sets the output port index which will be showed for preview. If set to `-1` no port will be open for preview."] # [doc = ""] # [inline] pub fn set_output_port_for_preview (& self , port : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeMethodTable :: get (get_api ()) . set_output_port_for_preview ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , port) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNode { } unsafe impl GodotObject for VisualShaderNode { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNode" } } impl std :: ops :: Deref for VisualShaderNode { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNode { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNode { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNode { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNode { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_default_input_values : * mut sys :: godot_method_bind , pub get_input_port_default_value : * mut sys :: godot_method_bind , pub get_output_port_for_preview : * mut sys :: godot_method_bind , pub set_default_input_values : * mut sys :: godot_method_bind , pub set_input_port_default_value : * mut sys :: godot_method_bind , pub set_output_port_for_preview : * mut sys :: godot_method_bind } impl VisualShaderNodeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeMethodTable = VisualShaderNodeMethodTable { class_constructor : None , get_default_input_values : 0 as * mut sys :: godot_method_bind , get_input_port_default_value : 0 as * mut sys :: godot_method_bind , get_output_port_for_preview : 0 as * mut sys :: godot_method_bind , set_default_input_values : 0 as * mut sys :: godot_method_bind , set_input_port_default_value : 0 as * mut sys :: godot_method_bind , set_output_port_for_preview : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNode\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_default_input_values = (gd_api . godot_method_bind_get_method) (class_name , "get_default_input_values\0" . as_ptr () as * const c_char) ; table . get_input_port_default_value = (gd_api . godot_method_bind_get_method) (class_name , "get_input_port_default_value\0" . as_ptr () as * const c_char) ; table . get_output_port_for_preview = (gd_api . godot_method_bind_get_method) (class_name , "get_output_port_for_preview\0" . as_ptr () as * const c_char) ; table . set_default_input_values = (gd_api . godot_method_bind_get_method) (class_name , "set_default_input_values\0" . as_ptr () as * const c_char) ; table . set_input_port_default_value = (gd_api . godot_method_bind_get_method) (class_name , "set_input_port_default_value\0" . as_ptr () as * const c_char) ; table . set_output_port_for_preview = (gd_api . godot_method_bind_get_method) (class_name , "set_output_port_for_preview\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:328:6961
[INFO] [stdout]     |
[INFO] [stdout] 328 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 328 |                 # [doc = "`core class Slider` inherits `Range` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_slider.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nSlider inherits methods from:\n - [Range](struct.Range.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Slider { this : RawObject < Self > , } impl Slider { # [doc = "Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers."] # [doc = ""] # [inline] pub fn ticks (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . get_ticks ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the slider will display ticks for minimum and maximum values."] # [doc = ""] # [inline] pub fn ticks_on_borders (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . get_ticks_on_borders ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the slider can be interacted with. If `false`, the value can be changed only by code."] # [doc = ""] # [inline] pub fn is_editable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . is_editable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the value can be changed using the mouse wheel."] # [doc = ""] # [inline] pub fn is_scrollable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . is_scrollable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the slider can be interacted with. If `false`, the value can be changed only by code."] # [doc = ""] # [inline] pub fn set_editable (& self , editable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . set_editable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , editable) ; } } # [doc = "If `true`, the value can be changed using the mouse wheel."] # [doc = ""] # [inline] pub fn set_scrollable (& self , scrollable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . set_scrollable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , scrollable) ; } } # [doc = "Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers."] # [doc = ""] # [inline] pub fn set_ticks (& self , count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . set_ticks ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , count) ; } } # [doc = "If `true`, the slider will display ticks for minimum and maximum values."] # [doc = ""] # [inline] pub fn set_ticks_on_borders (& self , ticks_on_border : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderMethodTable :: get (get_api ()) . set_ticks_on_borders ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , ticks_on_border) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Slider { } unsafe impl GodotObject for Slider { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Slider" } } impl QueueFree for Slider { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Slider { type Target = crate :: generated :: range :: Range ; # [inline] fn deref (& self) -> & crate :: generated :: range :: Range { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Slider { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: range :: Range { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: range :: Range > for Slider { } unsafe impl SubClass < crate :: generated :: control :: Control > for Slider { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Slider { } unsafe impl SubClass < crate :: generated :: node :: Node > for Slider { } unsafe impl SubClass < crate :: generated :: object :: Object > for Slider { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SliderMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_ticks : * mut sys :: godot_method_bind , pub get_ticks_on_borders : * mut sys :: godot_method_bind , pub is_editable : * mut sys :: godot_method_bind , pub is_scrollable : * mut sys :: godot_method_bind , pub set_editable : * mut sys :: godot_method_bind , pub set_scrollable : * mut sys :: godot_method_bind , pub set_ticks : * mut sys :: godot_method_bind , pub set_ticks_on_borders : * mut sys :: godot_method_bind } impl SliderMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SliderMethodTable = SliderMethodTable { class_constructor : None , get_ticks : 0 as * mut sys :: godot_method_bind , get_ticks_on_borders : 0 as * mut sys :: godot_method_bind , is_editable : 0 as * mut sys :: godot_method_bind , is_scrollable : 0 as * mut sys :: godot_method_bind , set_editable : 0 as * mut sys :: godot_method_bind , set_scrollable : 0 as * mut sys :: godot_method_bind , set_ticks : 0 as * mut sys :: godot_method_bind , set_ticks_on_borders : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SliderMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Slider\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_ticks = (gd_api . godot_method_bind_get_method) (class_name , "get_ticks\0" . as_ptr () as * const c_char) ; table . get_ticks_on_borders = (gd_api . godot_method_bind_get_method) (class_name , "get_ticks_on_borders\0" . as_ptr () as * const c_char) ; table . is_editable = (gd_api . godot_method_bind_get_method) (class_name , "is_editable\0" . as_ptr () as * const c_char) ; table . is_scrollable = (gd_api . godot_method_bind_get_method) (class_name , "is_scrollable\0" . as_ptr () as * const c_char) ; table . set_editable = (gd_api . godot_method_bind_get_method) (class_name , "set_editable\0" . as_ptr () as * const c_char) ; table . set_scrollable = (gd_api . godot_method_bind_get_method) (class_name , "set_scrollable\0" . as_ptr () as * const c_char) ; table . set_ticks = (gd_api . godot_method_bind_get_method) (class_name , "set_ticks\0" . as_ptr () as * const c_char) ; table . set_ticks_on_borders = (gd_api . godot_method_bind_get_method) (class_name , "set_ticks_on_borders\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:334:13304
[INFO] [stdout]     |
[INFO] [stdout] 334 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 334 |                 # [doc = "`core class VisualShader` inherits `Shader` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshader.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShader inherits methods from:\n - [Shader](struct.Shader.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShader { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Type (pub i64) ; impl Type { pub const VERTEX : Type = Type (0i64) ; pub const FRAGMENT : Type = Type (1i64) ; pub const LIGHT : Type = Type (2i64) ; pub const MAX : Type = Type (3i64) ; } impl From < i64 > for Type { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Type > for i64 { # [inline] fn from (v : Type) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShader { pub const NODE_ID_INVALID : i64 = - 1i64 ; pub const NODE_ID_OUTPUT : i64 = 0i64 ; pub const TYPE_FRAGMENT : i64 = 1i64 ; pub const TYPE_LIGHT : i64 = 2i64 ; pub const TYPE_MAX : i64 = 3i64 ; pub const TYPE_VERTEX : i64 = 0i64 ; } impl VisualShader { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds the specified node to the shader."] # [doc = ""] # [inline] pub fn add_node (& self , _type : i64 , node : impl AsArg < crate :: generated :: visual_shader_node :: VisualShaderNode > , position : Vector2 , id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . add_node ; let ret = crate :: icalls :: icallptr_void_i64_obj_vec2_i64 (method_bind , self . this . sys () . as_ptr () , _type , node . as_arg_ptr () , position , id) ; } } # [doc = "Returns `true` if the specified nodes and ports can be connected together."] # [doc = ""] # [inline] pub fn can_connect_nodes (& self , _type : i64 , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . can_connect_nodes ; let ret = crate :: icalls :: icallptr_bool_i64_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , from_node , from_port , to_node , to_port) ; ret as _ } } # [doc = "Connects the specified nodes and ports."] # [doc = ""] # [inline] pub fn connect_nodes (& self , _type : i64 , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . connect_nodes ; let ret = crate :: icalls :: icallptr_i64_i64_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , from_node , from_port , to_node , to_port) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Connects the specified nodes and ports, even if they can't be connected. Such connection is invalid and will not function properly."] # [doc = ""] # [inline] pub fn connect_nodes_forced (& self , _type : i64 , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . connect_nodes_forced ; let ret = crate :: icalls :: icallptr_void_i64_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , from_node , from_port , to_node , to_port) ; } } # [doc = "Connects the specified nodes and ports."] # [doc = ""] # [inline] pub fn disconnect_nodes (& self , _type : i64 , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . disconnect_nodes ; let ret = crate :: icalls :: icallptr_void_i64_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , from_node , from_port , to_node , to_port) ; } } # [doc = "The offset vector of the whole graph."] # [doc = ""] # [inline] pub fn graph_offset (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . get_graph_offset ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the shader node instance with specified `type` and `id`."] # [doc = ""] # [inline] pub fn get_node (& self , _type : i64 , id : i64) -> Option < Ref < crate :: generated :: visual_shader_node :: VisualShaderNode , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . get_node ; let ret = crate :: icalls :: icallptr_obj_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , id) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: visual_shader_node :: VisualShaderNode , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the list of connected nodes with the specified type."] # [doc = ""] # [inline] pub fn get_node_connections (& self , _type : i64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . get_node_connections ; let ret = crate :: icalls :: icallvar__i64 (method_bind , self . this . sys () . as_ptr () , _type) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the list of all nodes in the shader with the specified type."] # [doc = ""] # [inline] pub fn get_node_list (& self , _type : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . get_node_list ; let ret = crate :: icalls :: icallptr_i32arr_i64 (method_bind , self . this . sys () . as_ptr () , _type) ; Int32Array :: from_sys (ret) } } # [doc = "Returns the position of the specified node within the shader graph."] # [doc = ""] # [inline] pub fn get_node_position (& self , _type : i64 , id : i64) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . get_node_position ; let ret = crate :: icalls :: icallptr_vec2_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , id) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_valid_node_id (& self , _type : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . get_valid_node_id ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type) ; ret as _ } } # [doc = "Returns `true` if the specified node and port connection exist."] # [doc = ""] # [inline] pub fn is_node_connection (& self , _type : i64 , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . is_node_connection ; let ret = crate :: icalls :: icallptr_bool_i64_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , from_node , from_port , to_node , to_port) ; ret as _ } } # [doc = "Removes the specified node from the shader."] # [doc = ""] # [inline] pub fn remove_node (& self , _type : i64 , id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . remove_node ; let ret = crate :: icalls :: icallptr_void_i64_i64 (method_bind , self . this . sys () . as_ptr () , _type , id) ; } } # [doc = "The offset vector of the whole graph."] # [doc = ""] # [inline] pub fn set_graph_offset (& self , offset : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . set_graph_offset ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "Sets the mode of this shader."] # [doc = ""] # [inline] pub fn set_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . set_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "Sets the position of the specified node."] # [doc = ""] # [inline] pub fn set_node_position (& self , _type : i64 , id : i64 , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderMethodTable :: get (get_api ()) . set_node_position ; let ret = crate :: icalls :: icallptr_void_i64_i64_vec2 (method_bind , self . this . sys () . as_ptr () , _type , id , position) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShader { } unsafe impl GodotObject for VisualShader { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShader" } } impl std :: ops :: Deref for VisualShader { type Target = crate :: generated :: shader :: Shader ; # [inline] fn deref (& self) -> & crate :: generated :: shader :: Shader { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShader { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: shader :: Shader { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: shader :: Shader > for VisualShader { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShader { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShader { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShader { } impl Instanciable for VisualShader { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShader :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_node : * mut sys :: godot_method_bind , pub can_connect_nodes : * mut sys :: godot_method_bind , pub connect_nodes : * mut sys :: godot_method_bind , pub connect_nodes_forced : * mut sys :: godot_method_bind , pub disconnect_nodes : * mut sys :: godot_method_bind , pub get_graph_offset : * mut sys :: godot_method_bind , pub get_node : * mut sys :: godot_method_bind , pub get_node_connections : * mut sys :: godot_method_bind , pub get_node_list : * mut sys :: godot_method_bind , pub get_node_position : * mut sys :: godot_method_bind , pub get_valid_node_id : * mut sys :: godot_method_bind , pub is_node_connection : * mut sys :: godot_method_bind , pub remove_node : * mut sys :: godot_method_bind , pub set_graph_offset : * mut sys :: godot_method_bind , pub set_mode : * mut sys :: godot_method_bind , pub set_node_position : * mut sys :: godot_method_bind } impl VisualShaderMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderMethodTable = VisualShaderMethodTable { class_constructor : None , add_node : 0 as * mut sys :: godot_method_bind , can_connect_nodes : 0 as * mut sys :: godot_method_bind , connect_nodes : 0 as * mut sys :: godot_method_bind , connect_nodes_forced : 0 as * mut sys :: godot_method_bind , disconnect_nodes : 0 as * mut sys :: godot_method_bind , get_graph_offset : 0 as * mut sys :: godot_method_bind , get_node : 0 as * mut sys :: godot_method_bind , get_node_connections : 0 as * mut sys :: godot_method_bind , get_node_list : 0 as * mut sys :: godot_method_bind , get_node_position : 0 as * mut sys :: godot_method_bind , get_valid_node_id : 0 as * mut sys :: godot_method_bind , is_node_connection : 0 as * mut sys :: godot_method_bind , remove_node : 0 as * mut sys :: godot_method_bind , set_graph_offset : 0 as * mut sys :: godot_method_bind , set_mode : 0 as * mut sys :: godot_method_bind , set_node_position : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShader\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_node = (gd_api . godot_method_bind_get_method) (class_name , "add_node\0" . as_ptr () as * const c_char) ; table . can_connect_nodes = (gd_api . godot_method_bind_get_method) (class_name , "can_connect_nodes\0" . as_ptr () as * const c_char) ; table . connect_nodes = (gd_api . godot_method_bind_get_method) (class_name , "connect_nodes\0" . as_ptr () as * const c_char) ; table . connect_nodes_forced = (gd_api . godot_method_bind_get_method) (class_name , "connect_nodes_forced\0" . as_ptr () as * const c_char) ; table . disconnect_nodes = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_nodes\0" . as_ptr () as * const c_char) ; table . get_graph_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_graph_offset\0" . as_ptr () as * const c_char) ; table . get_node = (gd_api . godot_method_bind_get_method) (class_name , "get_node\0" . as_ptr () as * const c_char) ; table . get_node_connections = (gd_api . godot_method_bind_get_method) (class_name , "get_node_connections\0" . as_ptr () as * const c_char) ; table . get_node_list = (gd_api . godot_method_bind_get_method) (class_name , "get_node_list\0" . as_ptr () as * const c_char) ; table . get_node_position = (gd_api . godot_method_bind_get_method) (class_name , "get_node_position\0" . as_ptr () as * const c_char) ; table . get_valid_node_id = (gd_api . godot_method_bind_get_method) (class_name , "get_valid_node_id\0" . as_ptr () as * const c_char) ; table . is_node_connection = (gd_api . godot_method_bind_get_method) (class_name , "is_node_connection\0" . as_ptr () as * const c_char) ; table . remove_node = (gd_api . godot_method_bind_get_method) (class_name , "remove_node\0" . as_ptr () as * const c_char) ; table . set_graph_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_graph_offset\0" . as_ptr () as * const c_char) ; table . set_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_mode\0" . as_ptr () as * const c_char) ; table . set_node_position = (gd_api . godot_method_bind_get_method) (class_name , "set_node_position\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:340:18084
[INFO] [stdout]     |
[INFO] [stdout] 340 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 # [doc = "`core class MultiMesh` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_multimesh.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nMultiMesh inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MultiMesh { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ColorFormat (pub i64) ; impl ColorFormat { pub const NONE : ColorFormat = ColorFormat (0i64) ; pub const _8BIT : ColorFormat = ColorFormat (1i64) ; pub const FLOAT : ColorFormat = ColorFormat (2i64) ; } impl From < i64 > for ColorFormat { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ColorFormat > for i64 { # [inline] fn from (v : ColorFormat) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct CustomDataFormat (pub i64) ; impl CustomDataFormat { pub const NONE : CustomDataFormat = CustomDataFormat (0i64) ; pub const _8BIT : CustomDataFormat = CustomDataFormat (1i64) ; pub const FLOAT : CustomDataFormat = CustomDataFormat (2i64) ; } impl From < i64 > for CustomDataFormat { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < CustomDataFormat > for i64 { # [inline] fn from (v : CustomDataFormat) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TransformFormat (pub i64) ; impl TransformFormat { pub const _2D : TransformFormat = TransformFormat (0i64) ; pub const _3D : TransformFormat = TransformFormat (1i64) ; } impl From < i64 > for TransformFormat { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TransformFormat > for i64 { # [inline] fn from (v : TransformFormat) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl MultiMesh { pub const COLOR_8BIT : i64 = 1i64 ; pub const COLOR_FLOAT : i64 = 2i64 ; pub const COLOR_NONE : i64 = 0i64 ; pub const CUSTOM_DATA_8BIT : i64 = 1i64 ; pub const CUSTOM_DATA_FLOAT : i64 = 2i64 ; pub const CUSTOM_DATA_NONE : i64 = 0i64 ; pub const TRANSFORM_2D : i64 = 0i64 ; pub const TRANSFORM_3D : i64 = 1i64 ; } impl MultiMesh { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MultiMeshMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns the visibility axis-aligned bounding box in local space. See also [method VisualInstance.get_transformed_aabb]."] # [doc = ""] # [inline] pub fn get_aabb (& self) -> Aabb { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_aabb ; let ret = crate :: icalls :: icallptr_aabb (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Format of colors in color array that gets passed to shader."] # [doc = ""] # [inline] pub fn color_format (& self) -> crate :: generated :: multi_mesh :: ColorFormat { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_color_format ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: multi_mesh :: ColorFormat (ret) } } # [doc = "Format of custom data in custom data array that gets passed to shader."] # [doc = ""] # [inline] pub fn custom_data_format (& self) -> crate :: generated :: multi_mesh :: CustomDataFormat { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_custom_data_format ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: multi_mesh :: CustomDataFormat (ret) } } # [doc = "Gets a specific instance's color."] # [doc = ""] # [inline] pub fn get_instance_color (& self , instance : i64) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_instance_color ; let ret = crate :: icalls :: icallptr_color_i64 (method_bind , self . this . sys () . as_ptr () , instance) ; mem :: transmute (ret) } } # [doc = "Number of instances that will get drawn. This clears and (re)sizes the buffers. By default, all instances are drawn but you can limit this with [member visible_instance_count]."] # [doc = ""] # [inline] pub fn instance_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_instance_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the custom data that has been set for a specific instance."] # [doc = ""] # [inline] pub fn get_instance_custom_data (& self , instance : i64) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_instance_custom_data ; let ret = crate :: icalls :: icallptr_color_i64 (method_bind , self . this . sys () . as_ptr () , instance) ; mem :: transmute (ret) } } # [doc = "Returns the [Transform] of a specific instance."] # [doc = ""] # [inline] pub fn get_instance_transform (& self , instance : i64) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_instance_transform ; let ret = crate :: icalls :: icallptr_trans_i64 (method_bind , self . this . sys () . as_ptr () , instance) ; mem :: transmute (ret) } } # [doc = "Returns the [Transform2D] of a specific instance."] # [doc = ""] # [inline] pub fn get_instance_transform_2d (& self , instance : i64) -> Transform2D { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_instance_transform_2d ; let ret = crate :: icalls :: icallptr_trans2D_i64 (method_bind , self . this . sys () . as_ptr () , instance) ; mem :: transmute (ret) } } # [doc = "Mesh to be drawn."] # [doc = ""] # [inline] pub fn mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Format of transform used to transform mesh, either 2D or 3D."] # [doc = ""] # [inline] pub fn transform_format (& self) -> crate :: generated :: multi_mesh :: TransformFormat { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_transform_format ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: multi_mesh :: TransformFormat (ret) } } # [doc = "Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers."] # [doc = ""] # [inline] pub fn visible_instance_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . get_visible_instance_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Sets all data related to the instances in one go. This is especially useful when loading the data from disk or preparing the data from GDNative.\nAll data is packed in one large float array. An array may look like this: Transform for instance 1, color data for instance 1, custom data for instance 1, transform for instance 2, color data for instance 2, etc...\n[Transform] is stored as 12 floats, [Transform2D] is stored as 8 floats, `COLOR_8BIT` / `CUSTOM_DATA_8BIT` is stored as 1 float (4 bytes as is) and `COLOR_FLOAT` / `CUSTOM_DATA_FLOAT` is stored as 4 floats."] # [doc = ""] # [inline] pub fn set_as_bulk_array (& self , array : Float32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_as_bulk_array ; let ret = crate :: icalls :: icallptr_void_f32arr (method_bind , self . this . sys () . as_ptr () , array) ; } } # [doc = "Format of colors in color array that gets passed to shader."] # [doc = ""] # [inline] pub fn set_color_format (& self , format : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_color_format ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , format) ; } } # [doc = "Format of custom data in custom data array that gets passed to shader."] # [doc = ""] # [inline] pub fn set_custom_data_format (& self , format : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_custom_data_format ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , format) ; } } # [doc = "Sets the color of a specific instance.\nFor the color to take effect, ensure that [member color_format] is non-`null` on the [MultiMesh] and [member SpatialMaterial.vertex_color_use_as_albedo] is `true` on the material."] # [doc = ""] # [inline] pub fn set_instance_color (& self , instance : i64 , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_instance_color ; let ret = crate :: icalls :: icallptr_void_i64_color (method_bind , self . this . sys () . as_ptr () , instance , color) ; } } # [doc = "Number of instances that will get drawn. This clears and (re)sizes the buffers. By default, all instances are drawn but you can limit this with [member visible_instance_count]."] # [doc = ""] # [inline] pub fn set_instance_count (& self , count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_instance_count ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , count) ; } } # [doc = "Sets custom data for a specific instance. Although [Color] is used, it is just a container for 4 floating point numbers. The format of the number can change depending on the [enum CustomDataFormat] used."] # [doc = ""] # [inline] pub fn set_instance_custom_data (& self , instance : i64 , custom_data : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_instance_custom_data ; let ret = crate :: icalls :: icallptr_void_i64_color (method_bind , self . this . sys () . as_ptr () , instance , custom_data) ; } } # [doc = "Sets the [Transform] for a specific instance."] # [doc = ""] # [inline] pub fn set_instance_transform (& self , instance : i64 , transform : Transform) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_instance_transform ; let ret = crate :: icalls :: icallptr_void_i64_trans (method_bind , self . this . sys () . as_ptr () , instance , transform) ; } } # [doc = "Sets the [Transform2D] for a specific instance."] # [doc = ""] # [inline] pub fn set_instance_transform_2d (& self , instance : i64 , transform : Transform2D) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_instance_transform_2d ; let ret = crate :: icalls :: icallptr_void_i64_trans2D (method_bind , self . this . sys () . as_ptr () , instance , transform) ; } } # [doc = "Mesh to be drawn."] # [doc = ""] # [inline] pub fn set_mesh (& self , mesh : impl AsArg < crate :: generated :: mesh :: Mesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_mesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr ()) ; } } # [doc = "Format of transform used to transform mesh, either 2D or 3D."] # [doc = ""] # [inline] pub fn set_transform_format (& self , format : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_transform_format ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , format) ; } } # [doc = "Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers."] # [doc = ""] # [inline] pub fn set_visible_instance_count (& self , count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshMethodTable :: get (get_api ()) . set_visible_instance_count ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , count) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MultiMesh { } unsafe impl GodotObject for MultiMesh { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "MultiMesh" } } impl std :: ops :: Deref for MultiMesh { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MultiMesh { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for MultiMesh { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for MultiMesh { } unsafe impl SubClass < crate :: generated :: object :: Object > for MultiMesh { } impl Instanciable for MultiMesh { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MultiMesh :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MultiMeshMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_aabb : * mut sys :: godot_method_bind , pub get_color_format : * mut sys :: godot_method_bind , pub get_custom_data_format : * mut sys :: godot_method_bind , pub get_instance_color : * mut sys :: godot_method_bind , pub get_instance_count : * mut sys :: godot_method_bind , pub get_instance_custom_data : * mut sys :: godot_method_bind , pub get_instance_transform : * mut sys :: godot_method_bind , pub get_instance_transform_2d : * mut sys :: godot_method_bind , pub get_mesh : * mut sys :: godot_method_bind , pub get_transform_format : * mut sys :: godot_method_bind , pub get_visible_instance_count : * mut sys :: godot_method_bind , pub set_as_bulk_array : * mut sys :: godot_method_bind , pub set_color_format : * mut sys :: godot_method_bind , pub set_custom_data_format : * mut sys :: godot_method_bind , pub set_instance_color : * mut sys :: godot_method_bind , pub set_instance_count : * mut sys :: godot_method_bind , pub set_instance_custom_data : * mut sys :: godot_method_bind , pub set_instance_transform : * mut sys :: godot_method_bind , pub set_instance_transform_2d : * mut sys :: godot_method_bind , pub set_mesh : * mut sys :: godot_method_bind , pub set_transform_format : * mut sys :: godot_method_bind , pub set_visible_instance_count : * mut sys :: godot_method_bind } impl MultiMeshMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MultiMeshMethodTable = MultiMeshMethodTable { class_constructor : None , get_aabb : 0 as * mut sys :: godot_method_bind , get_color_format : 0 as * mut sys :: godot_method_bind , get_custom_data_format : 0 as * mut sys :: godot_method_bind , get_instance_color : 0 as * mut sys :: godot_method_bind , get_instance_count : 0 as * mut sys :: godot_method_bind , get_instance_custom_data : 0 as * mut sys :: godot_method_bind , get_instance_transform : 0 as * mut sys :: godot_method_bind , get_instance_transform_2d : 0 as * mut sys :: godot_method_bind , get_mesh : 0 as * mut sys :: godot_method_bind , get_transform_format : 0 as * mut sys :: godot_method_bind , get_visible_instance_count : 0 as * mut sys :: godot_method_bind , set_as_bulk_array : 0 as * mut sys :: godot_method_bind , set_color_format : 0 as * mut sys :: godot_method_bind , set_custom_data_format : 0 as * mut sys :: godot_method_bind , set_instance_color : 0 as * mut sys :: godot_method_bind , set_instance_count : 0 as * mut sys :: godot_method_bind , set_instance_custom_data : 0 as * mut sys :: godot_method_bind , set_instance_transform : 0 as * mut sys :: godot_method_bind , set_instance_transform_2d : 0 as * mut sys :: godot_method_bind , set_mesh : 0 as * mut sys :: godot_method_bind , set_transform_format : 0 as * mut sys :: godot_method_bind , set_visible_instance_count : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MultiMeshMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MultiMesh\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_aabb = (gd_api . godot_method_bind_get_method) (class_name , "get_aabb\0" . as_ptr () as * const c_char) ; table . get_color_format = (gd_api . godot_method_bind_get_method) (class_name , "get_color_format\0" . as_ptr () as * const c_char) ; table . get_custom_data_format = (gd_api . godot_method_bind_get_method) (class_name , "get_custom_data_format\0" . as_ptr () as * const c_char) ; table . get_instance_color = (gd_api . godot_method_bind_get_method) (class_name , "get_instance_color\0" . as_ptr () as * const c_char) ; table . get_instance_count = (gd_api . godot_method_bind_get_method) (class_name , "get_instance_count\0" . as_ptr () as * const c_char) ; table . get_instance_custom_data = (gd_api . godot_method_bind_get_method) (class_name , "get_instance_custom_data\0" . as_ptr () as * const c_char) ; table . get_instance_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_instance_transform\0" . as_ptr () as * const c_char) ; table . get_instance_transform_2d = (gd_api . godot_method_bind_get_method) (class_name , "get_instance_transform_2d\0" . as_ptr () as * const c_char) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . get_transform_format = (gd_api . godot_method_bind_get_method) (class_name , "get_transform_format\0" . as_ptr () as * const c_char) ; table . get_visible_instance_count = (gd_api . godot_method_bind_get_method) (class_name , "get_visible_instance_count\0" . as_ptr () as * const c_char) ; table . set_as_bulk_array = (gd_api . godot_method_bind_get_method) (class_name , "set_as_bulk_array\0" . as_ptr () as * const c_char) ; table . set_color_format = (gd_api . godot_method_bind_get_method) (class_name , "set_color_format\0" . as_ptr () as * const c_char) ; table . set_custom_data_format = (gd_api . godot_method_bind_get_method) (class_name , "set_custom_data_format\0" . as_ptr () as * const c_char) ; table . set_instance_color = (gd_api . godot_method_bind_get_method) (class_name , "set_instance_color\0" . as_ptr () as * const c_char) ; table . set_instance_count = (gd_api . godot_method_bind_get_method) (class_name , "set_instance_count\0" . as_ptr () as * const c_char) ; table . set_instance_custom_data = (gd_api . godot_method_bind_get_method) (class_name , "set_instance_custom_data\0" . as_ptr () as * const c_char) ; table . set_instance_transform = (gd_api . godot_method_bind_get_method) (class_name , "set_instance_transform\0" . as_ptr () as * const c_char) ; table . set_instance_transform_2d = (gd_api . godot_method_bind_get_method) (class_name , "set_instance_transform_2d\0" . as_ptr () as * const c_char) ; table . set_mesh = (gd_api . godot_method_bind_get_method) (class_name , "set_mesh\0" . as_ptr () as * const c_char) ; table . set_transform_format = (gd_api . godot_method_bind_get_method) (class_name , "set_transform_format\0" . as_ptr () as * const c_char) ; table . set_visible_instance_count = (gd_api . godot_method_bind_get_method) (class_name , "set_visible_instance_count\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:346:6499
[INFO] [stdout]     |
[INFO] [stdout] 346 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 346 |                 # [doc = "`core class PacketPeerStream` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_packetpeerstream.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPacketPeerStream inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PacketPeerStream { this : RawObject < Self > , } impl PacketPeerStream { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PacketPeerStreamMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn input_buffer_max_size (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerStreamMethodTable :: get (get_api ()) . get_input_buffer_max_size ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn output_buffer_max_size (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerStreamMethodTable :: get (get_api ()) . get_output_buffer_max_size ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The wrapped [StreamPeer] object."] # [doc = ""] # [inline] pub fn stream_peer (& self) -> Option < Ref < crate :: generated :: stream_peer :: StreamPeer , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerStreamMethodTable :: get (get_api ()) . get_stream_peer ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: stream_peer :: StreamPeer , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_input_buffer_max_size (& self , max_size_bytes : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerStreamMethodTable :: get (get_api ()) . set_input_buffer_max_size ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , max_size_bytes) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_output_buffer_max_size (& self , max_size_bytes : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerStreamMethodTable :: get (get_api ()) . set_output_buffer_max_size ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , max_size_bytes) ; } } # [doc = "The wrapped [StreamPeer] object."] # [doc = ""] # [inline] pub fn set_stream_peer (& self , peer : impl AsArg < crate :: generated :: stream_peer :: StreamPeer >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerStreamMethodTable :: get (get_api ()) . set_stream_peer ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , peer . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PacketPeerStream { } unsafe impl GodotObject for PacketPeerStream { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "PacketPeerStream" } } impl std :: ops :: Deref for PacketPeerStream { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PacketPeerStream { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for PacketPeerStream { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for PacketPeerStream { } unsafe impl SubClass < crate :: generated :: object :: Object > for PacketPeerStream { } impl Instanciable for PacketPeerStream { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PacketPeerStream :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PacketPeerStreamMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_input_buffer_max_size : * mut sys :: godot_method_bind , pub get_output_buffer_max_size : * mut sys :: godot_method_bind , pub get_stream_peer : * mut sys :: godot_method_bind , pub set_input_buffer_max_size : * mut sys :: godot_method_bind , pub set_output_buffer_max_size : * mut sys :: godot_method_bind , pub set_stream_peer : * mut sys :: godot_method_bind } impl PacketPeerStreamMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PacketPeerStreamMethodTable = PacketPeerStreamMethodTable { class_constructor : None , get_input_buffer_max_size : 0 as * mut sys :: godot_method_bind , get_output_buffer_max_size : 0 as * mut sys :: godot_method_bind , get_stream_peer : 0 as * mut sys :: godot_method_bind , set_input_buffer_max_size : 0 as * mut sys :: godot_method_bind , set_output_buffer_max_size : 0 as * mut sys :: godot_method_bind , set_stream_peer : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PacketPeerStreamMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PacketPeerStream\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_input_buffer_max_size = (gd_api . godot_method_bind_get_method) (class_name , "get_input_buffer_max_size\0" . as_ptr () as * const c_char) ; table . get_output_buffer_max_size = (gd_api . godot_method_bind_get_method) (class_name , "get_output_buffer_max_size\0" . as_ptr () as * const c_char) ; table . get_stream_peer = (gd_api . godot_method_bind_get_method) (class_name , "get_stream_peer\0" . as_ptr () as * const c_char) ; table . set_input_buffer_max_size = (gd_api . godot_method_bind_get_method) (class_name , "set_input_buffer_max_size\0" . as_ptr () as * const c_char) ; table . set_output_buffer_max_size = (gd_api . godot_method_bind_get_method) (class_name , "set_output_buffer_max_size\0" . as_ptr () as * const c_char) ; table . set_stream_peer = (gd_api . godot_method_bind_get_method) (class_name , "set_stream_peer\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:352:5624
[INFO] [stdout]     |
[INFO] [stdout] 352 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 352 |                 # [doc = "`core class CenterContainer` inherits `Container` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_centercontainer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`CenterContainer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<CenterContainer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nCenterContainer inherits methods from:\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CenterContainer { this : RawObject < Self > , } impl CenterContainer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CenterContainerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "If `true`, centers children relative to the [CenterContainer]'s top left corner."] # [doc = ""] # [inline] pub fn is_using_top_left (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CenterContainerMethodTable :: get (get_api ()) . is_using_top_left ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, centers children relative to the [CenterContainer]'s top left corner."] # [doc = ""] # [inline] pub fn set_use_top_left (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CenterContainerMethodTable :: get (get_api ()) . set_use_top_left ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CenterContainer { } unsafe impl GodotObject for CenterContainer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "CenterContainer" } } impl QueueFree for CenterContainer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for CenterContainer { type Target = crate :: generated :: container :: Container ; # [inline] fn deref (& self) -> & crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CenterContainer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: container :: Container > for CenterContainer { } unsafe impl SubClass < crate :: generated :: control :: Control > for CenterContainer { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for CenterContainer { } unsafe impl SubClass < crate :: generated :: node :: Node > for CenterContainer { } unsafe impl SubClass < crate :: generated :: object :: Object > for CenterContainer { } impl Instanciable for CenterContainer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CenterContainer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CenterContainerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub is_using_top_left : * mut sys :: godot_method_bind , pub set_use_top_left : * mut sys :: godot_method_bind } impl CenterContainerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CenterContainerMethodTable = CenterContainerMethodTable { class_constructor : None , is_using_top_left : 0 as * mut sys :: godot_method_bind , set_use_top_left : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CenterContainerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CenterContainer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . is_using_top_left = (gd_api . godot_method_bind_get_method) (class_name , "is_using_top_left\0" . as_ptr () as * const c_char) ; table . set_use_top_left = (gd_api . godot_method_bind_get_method) (class_name , "set_use_top_left\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:358:5554
[INFO] [stdout]     |
[INFO] [stdout] 358 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 358 |                 # [doc = "`core class Container` inherits `Control` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_container.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Container` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Container>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nContainer inherits methods from:\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Container { this : RawObject < Self > , } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Container { pub const NOTIFICATION_SORT_CHILDREN : i64 = 50i64 ; } impl Container { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ContainerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Fit a child control in a given rect. This is mainly a helper for creating custom container classes."] # [doc = ""] # [inline] pub fn fit_child_in_rect (& self , child : impl AsArg < crate :: generated :: control :: Control > , rect : Rect2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ContainerMethodTable :: get (get_api ()) . fit_child_in_rect ; let ret = crate :: icalls :: icallptr_void_obj_rect2 (method_bind , self . this . sys () . as_ptr () , child . as_arg_ptr () , rect) ; } } # [doc = "Queue resort of the contained children. This is called automatically anyway, but can be called upon request."] # [doc = ""] # [inline] pub fn queue_sort (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ContainerMethodTable :: get (get_api ()) . queue_sort ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Container { } unsafe impl GodotObject for Container { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Container" } } impl QueueFree for Container { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Container { type Target = crate :: generated :: control :: Control ; # [inline] fn deref (& self) -> & crate :: generated :: control :: Control { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Container { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: control :: Control { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: control :: Control > for Container { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Container { } unsafe impl SubClass < crate :: generated :: node :: Node > for Container { } unsafe impl SubClass < crate :: generated :: object :: Object > for Container { } impl Instanciable for Container { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Container :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ContainerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub fit_child_in_rect : * mut sys :: godot_method_bind , pub queue_sort : * mut sys :: godot_method_bind } impl ContainerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ContainerMethodTable = ContainerMethodTable { class_constructor : None , fit_child_in_rect : 0 as * mut sys :: godot_method_bind , queue_sort : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ContainerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Container\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . fit_child_in_rect = (gd_api . godot_method_bind_get_method) (class_name , "fit_child_in_rect\0" . as_ptr () as * const c_char) ; table . queue_sort = (gd_api . godot_method_bind_get_method) (class_name , "queue_sort\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:364:13081
[INFO] [stdout]     |
[INFO] [stdout] 364 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 364 |                 # [doc = "`core class ARVRInterface` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrinterface.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nARVRInterface inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVRInterface { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Capabilities (pub i64) ; impl Capabilities { pub const NONE : Capabilities = Capabilities (0i64) ; pub const MONO : Capabilities = Capabilities (1i64) ; pub const STEREO : Capabilities = Capabilities (2i64) ; pub const AR : Capabilities = Capabilities (4i64) ; pub const EXTERNAL : Capabilities = Capabilities (8i64) ; } impl From < i64 > for Capabilities { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Capabilities > for i64 { # [inline] fn from (v : Capabilities) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Eyes (pub i64) ; impl Eyes { pub const MONO : Eyes = Eyes (0i64) ; pub const LEFT : Eyes = Eyes (1i64) ; pub const RIGHT : Eyes = Eyes (2i64) ; } impl From < i64 > for Eyes { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Eyes > for i64 { # [inline] fn from (v : Eyes) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TrackingStatus (pub i64) ; impl TrackingStatus { pub const NORMAL_TRACKING : TrackingStatus = TrackingStatus (0i64) ; pub const EXCESSIVE_MOTION : TrackingStatus = TrackingStatus (1i64) ; pub const INSUFFICIENT_FEATURES : TrackingStatus = TrackingStatus (2i64) ; pub const UNKNOWN_TRACKING : TrackingStatus = TrackingStatus (3i64) ; pub const NOT_TRACKING : TrackingStatus = TrackingStatus (4i64) ; } impl From < i64 > for TrackingStatus { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TrackingStatus > for i64 { # [inline] fn from (v : TrackingStatus) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl ARVRInterface { pub const ARVR_AR : i64 = 4i64 ; pub const ARVR_EXCESSIVE_MOTION : i64 = 1i64 ; pub const ARVR_EXTERNAL : i64 = 8i64 ; pub const ARVR_INSUFFICIENT_FEATURES : i64 = 2i64 ; pub const ARVR_MONO : i64 = 1i64 ; pub const ARVR_NONE : i64 = 0i64 ; pub const ARVR_NORMAL_TRACKING : i64 = 0i64 ; pub const ARVR_NOT_TRACKING : i64 = 4i64 ; pub const ARVR_STEREO : i64 = 2i64 ; pub const ARVR_UNKNOWN_TRACKING : i64 = 3i64 ; pub const EYE_LEFT : i64 = 1i64 ; pub const EYE_MONO : i64 = 0i64 ; pub const EYE_RIGHT : i64 = 2i64 ; } impl ARVRInterface { # [doc = "On an AR interface, `true` if anchor detection is enabled."] # [doc = ""] # [inline] pub fn anchor_detection_is_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . get_anchor_detection_is_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If this is an AR interface that requires displaying a camera feed as the background, this method returns the feed ID in the [CameraServer] for this interface."] # [doc = ""] # [inline] pub fn get_camera_feed_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . get_camera_feed_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a combination of [enum Capabilities] flags providing information about the capabilities of this interface."] # [doc = ""] # [inline] pub fn get_capabilities (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . get_capabilities ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc)."] # [doc = ""] # [inline] pub fn get_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . get_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the resolution at which we should render our intermediate results before things like lens distortion are applied by the VR platform."] # [doc = ""] # [inline] pub fn get_render_targetsize (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . get_render_targetsize ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If supported, returns the status of our tracking. This will allow you to provide feedback to the user whether there are issues with positional tracking."] # [doc = ""] # [inline] pub fn get_tracking_status (& self) -> crate :: generated :: arvr_interface :: TrackingStatus { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . get_tracking_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: arvr_interface :: TrackingStatus (ret) } } # [doc = "Call this to initialize this interface. The first interface that is initialized is identified as the primary interface and it will be used for rendering output.\nAfter initializing the interface you want to use you then need to enable the AR/VR mode of a viewport and rendering should commence.\n**Note:** You must enable the AR/VR mode on the main viewport for any device that uses the main output of Godot, such as for mobile VR.\nIf you do this for a platform that handles its own output (such as OpenVR) Godot will show just one eye without distortion on screen. Alternatively, you can add a separate viewport node to your scene and enable AR/VR on that viewport. It will be used to output to the HMD, leaving you free to do anything you like in the main window, such as using a separate camera as a spectator camera or rendering something completely different.\nWhile currently not used, you can activate additional interfaces. You may wish to do this if you want to track controllers from other platforms. However, at this point in time only one interface can render to an HMD."] # [doc = ""] # [inline] pub fn initialize (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . initialize ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "`true` if this interface been initialized."] # [doc = ""] # [inline] pub fn is_initialized (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . is_initialized ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "`true` if this is the primary interface."] # [doc = ""] # [inline] pub fn is_primary (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . is_primary ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the current output of this interface is in stereo."] # [doc = ""] # [inline] pub fn is_stereo (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . is_stereo ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "On an AR interface, `true` if anchor detection is enabled."] # [doc = ""] # [inline] pub fn set_anchor_detection_is_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . set_anchor_detection_is_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "`true` if this interface been initialized."] # [doc = ""] # [inline] pub fn set_is_initialized (& self , initialized : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . set_is_initialized ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , initialized) ; } } # [doc = "`true` if this is the primary interface."] # [doc = ""] # [inline] pub fn set_is_primary (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . set_is_primary ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Turns the interface off."] # [doc = ""] # [inline] pub fn uninitialize (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRInterfaceMethodTable :: get (get_api ()) . uninitialize ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVRInterface { } unsafe impl GodotObject for ARVRInterface { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "ARVRInterface" } } impl std :: ops :: Deref for ARVRInterface { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVRInterface { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for ARVRInterface { } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVRInterface { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVRInterfaceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_anchor_detection_is_enabled : * mut sys :: godot_method_bind , pub get_camera_feed_id : * mut sys :: godot_method_bind , pub get_capabilities : * mut sys :: godot_method_bind , pub get_name : * mut sys :: godot_method_bind , pub get_render_targetsize : * mut sys :: godot_method_bind , pub get_tracking_status : * mut sys :: godot_method_bind , pub initialize : * mut sys :: godot_method_bind , pub is_initialized : * mut sys :: godot_method_bind , pub is_primary : * mut sys :: godot_method_bind , pub is_stereo : * mut sys :: godot_method_bind , pub set_anchor_detection_is_enabled : * mut sys :: godot_method_bind , pub set_is_initialized : * mut sys :: godot_method_bind , pub set_is_primary : * mut sys :: godot_method_bind , pub uninitialize : * mut sys :: godot_method_bind } impl ARVRInterfaceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVRInterfaceMethodTable = ARVRInterfaceMethodTable { class_constructor : None , get_anchor_detection_is_enabled : 0 as * mut sys :: godot_method_bind , get_camera_feed_id : 0 as * mut sys :: godot_method_bind , get_capabilities : 0 as * mut sys :: godot_method_bind , get_name : 0 as * mut sys :: godot_method_bind , get_render_targetsize : 0 as * mut sys :: godot_method_bind , get_tracking_status : 0 as * mut sys :: godot_method_bind , initialize : 0 as * mut sys :: godot_method_bind , is_initialized : 0 as * mut sys :: godot_method_bind , is_primary : 0 as * mut sys :: godot_method_bind , is_stereo : 0 as * mut sys :: godot_method_bind , set_anchor_detection_is_enabled : 0 as * mut sys :: godot_method_bind , set_is_initialized : 0 as * mut sys :: godot_method_bind , set_is_primary : 0 as * mut sys :: godot_method_bind , uninitialize : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVRInterfaceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVRInterface\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_anchor_detection_is_enabled = (gd_api . godot_method_bind_get_method) (class_name , "get_anchor_detection_is_enabled\0" . as_ptr () as * const c_char) ; table . get_camera_feed_id = (gd_api . godot_method_bind_get_method) (class_name , "get_camera_feed_id\0" . as_ptr () as * const c_char) ; table . get_capabilities = (gd_api . godot_method_bind_get_method) (class_name , "get_capabilities\0" . as_ptr () as * const c_char) ; table . get_name = (gd_api . godot_method_bind_get_method) (class_name , "get_name\0" . as_ptr () as * const c_char) ; table . get_render_targetsize = (gd_api . godot_method_bind_get_method) (class_name , "get_render_targetsize\0" . as_ptr () as * const c_char) ; table . get_tracking_status = (gd_api . godot_method_bind_get_method) (class_name , "get_tracking_status\0" . as_ptr () as * const c_char) ; table . initialize = (gd_api . godot_method_bind_get_method) (class_name , "initialize\0" . as_ptr () as * const c_char) ; table . is_initialized = (gd_api . godot_method_bind_get_method) (class_name , "is_initialized\0" . as_ptr () as * const c_char) ; table . is_primary = (gd_api . godot_method_bind_get_method) (class_name , "is_primary\0" . as_ptr () as * const c_char) ; table . is_stereo = (gd_api . godot_method_bind_get_method) (class_name , "is_stereo\0" . as_ptr () as * const c_char) ; table . set_anchor_detection_is_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_anchor_detection_is_enabled\0" . as_ptr () as * const c_char) ; table . set_is_initialized = (gd_api . godot_method_bind_get_method) (class_name , "set_is_initialized\0" . as_ptr () as * const c_char) ; table . set_is_primary = (gd_api . godot_method_bind_get_method) (class_name , "set_is_primary\0" . as_ptr () as * const c_char) ; table . uninitialize = (gd_api . godot_method_bind_get_method) (class_name , "uninitialize\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:370:4444
[INFO] [stdout]     |
[INFO] [stdout] 370 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 370 |                 # [doc = "`core class AudioEffectSpectrumAnalyzerInstance` inherits `AudioEffectInstance` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectspectrumanalyzerinstance.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectSpectrumAnalyzerInstance inherits methods from:\n - [AudioEffectInstance](struct.AudioEffectInstance.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectSpectrumAnalyzerInstance { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct MagnitudeMode (pub i64) ; impl MagnitudeMode { pub const AVERAGE : MagnitudeMode = MagnitudeMode (0i64) ; pub const MAX : MagnitudeMode = MagnitudeMode (1i64) ; } impl From < i64 > for MagnitudeMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < MagnitudeMode > for i64 { # [inline] fn from (v : MagnitudeMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AudioEffectSpectrumAnalyzerInstance { pub const MAGNITUDE_AVERAGE : i64 = 0i64 ; pub const MAGNITUDE_MAX : i64 = 1i64 ; } impl AudioEffectSpectrumAnalyzerInstance { # [doc = "\n# Default Arguments\n* `mode` - `1`"] # [doc = ""] # [inline] pub fn get_magnitude_for_frequency_range (& self , from_hz : f64 , to_hz : f64 , mode : i64) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectSpectrumAnalyzerInstanceMethodTable :: get (get_api ()) . get_magnitude_for_frequency_range ; let ret = crate :: icalls :: icallptr_vec2_f64_f64_i64 (method_bind , self . this . sys () . as_ptr () , from_hz , to_hz , mode) ; mem :: transmute (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectSpectrumAnalyzerInstance { } unsafe impl GodotObject for AudioEffectSpectrumAnalyzerInstance { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectSpectrumAnalyzerInstance" } } impl std :: ops :: Deref for AudioEffectSpectrumAnalyzerInstance { type Target = crate :: generated :: audio_effect_instance :: AudioEffectInstance ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect_instance :: AudioEffectInstance { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectSpectrumAnalyzerInstance { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect_instance :: AudioEffectInstance { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect_instance :: AudioEffectInstance > for AudioEffectSpectrumAnalyzerInstance { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectSpectrumAnalyzerInstance { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectSpectrumAnalyzerInstance { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectSpectrumAnalyzerInstanceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_magnitude_for_frequency_range : * mut sys :: godot_method_bind } impl AudioEffectSpectrumAnalyzerInstanceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectSpectrumAnalyzerInstanceMethodTable = AudioEffectSpectrumAnalyzerInstanceMethodTable { class_constructor : None , get_magnitude_for_frequency_range : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectSpectrumAnalyzerInstanceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectSpectrumAnalyzerInstance\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_magnitude_for_frequency_range = (gd_api . godot_method_bind_get_method) (class_name , "get_magnitude_for_frequency_range\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:376:21662
[INFO] [stdout]     |
[INFO] [stdout] 376 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 376 |                 # [doc = "`core class PhysicsDirectBodyState` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_physicsdirectbodystate.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nPhysicsDirectBodyState inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PhysicsDirectBodyState { this : RawObject < Self > , } impl PhysicsDirectBodyState { # [doc = "Adds a constant directional force without affecting rotation.\nThis is equivalent to `add_force(force, Vector3(0,0,0))`."] # [doc = ""] # [inline] pub fn add_central_force (& self , force : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . add_central_force ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , force) ; } } # [doc = "Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates."] # [doc = ""] # [inline] pub fn add_force (& self , force : Vector3 , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . add_force ; let ret = crate :: icalls :: icallptr_void_vec3_vec3 (method_bind , self . this . sys () . as_ptr () , force , position) ; } } # [doc = "Adds a constant rotational force without affecting position."] # [doc = ""] # [inline] pub fn add_torque (& self , torque : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . add_torque ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , torque) ; } } # [doc = "Applies a single directional impulse without affecting rotation.\nThis is equivalent to `apply_impulse(Vector3(0, 0, 0), impulse)`."] # [doc = ""] # [inline] pub fn apply_central_impulse (& self , j : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . apply_central_impulse ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , j) ; } } # [doc = "Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin."] # [doc = ""] # [inline] pub fn apply_impulse (& self , position : Vector3 , j : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . apply_impulse ; let ret = crate :: icalls :: icallptr_void_vec3_vec3 (method_bind , self . this . sys () . as_ptr () , position , j) ; } } # [doc = "Apply a torque impulse (which will be affected by the body mass and shape). This will rotate the body around the vector `j` passed as parameter."] # [doc = ""] # [inline] pub fn apply_torque_impulse (& self , j : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . apply_torque_impulse ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , j) ; } } # [doc = "The body's rotational velocity."] # [doc = ""] # [inline] pub fn angular_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_angular_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn center_of_mass (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_center_of_mass ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the collider's [RID]."] # [doc = ""] # [inline] pub fn get_contact_collider (& self , contact_idx : i64) -> Rid { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_collider ; let ret = crate :: icalls :: icallptr_rid_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; Rid :: from_sys (ret) } } # [doc = "Returns the collider's object id."] # [doc = ""] # [inline] pub fn get_contact_collider_id (& self , contact_idx : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_collider_id ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; ret as _ } } # [doc = "Returns the collider object."] # [doc = ""] # [inline] pub fn get_contact_collider_object (& self , contact_idx : i64) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_collider_object ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the contact position in the collider."] # [doc = ""] # [inline] pub fn get_contact_collider_position (& self , contact_idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_collider_position ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; mem :: transmute (ret) } } # [doc = "Returns the collider's shape index."] # [doc = ""] # [inline] pub fn get_contact_collider_shape (& self , contact_idx : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_collider_shape ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; ret as _ } } # [doc = "Returns the linear velocity vector at the collider's contact point."] # [doc = ""] # [inline] pub fn get_contact_collider_velocity_at_position (& self , contact_idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_collider_velocity_at_position ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; mem :: transmute (ret) } } # [doc = "Returns the number of contacts this body has with other bodies.\n**Note:** By default, this returns 0 unless bodies are configured to monitor contacts. See [member RigidBody.contact_monitor]."] # [doc = ""] # [inline] pub fn get_contact_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Impulse created by the contact. Only implemented for Bullet physics."] # [doc = ""] # [inline] pub fn get_contact_impulse (& self , contact_idx : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_impulse ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; ret as _ } } # [doc = "Returns the local normal at the contact point."] # [doc = ""] # [inline] pub fn get_contact_local_normal (& self , contact_idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_local_normal ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; mem :: transmute (ret) } } # [doc = "Returns the local position of the contact point."] # [doc = ""] # [inline] pub fn get_contact_local_position (& self , contact_idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_local_position ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; mem :: transmute (ret) } } # [doc = "Returns the local shape index of the collision."] # [doc = ""] # [inline] pub fn get_contact_local_shape (& self , contact_idx : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_contact_local_shape ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , contact_idx) ; ret as _ } } # [doc = "The inverse of the inertia of the body."] # [doc = ""] # [inline] pub fn inverse_inertia (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_inverse_inertia ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The inverse of the mass of the body."] # [doc = ""] # [inline] pub fn inverse_mass (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_inverse_mass ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The body's linear velocity."] # [doc = ""] # [inline] pub fn linear_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_linear_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn principal_inertia_axes (& self) -> Basis { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_principal_inertia_axes ; let ret = crate :: icalls :: icallptr_basis (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the current state of the space, useful for queries."] # [doc = ""] # [inline] pub fn get_space_state (& self) -> Option < Ref < crate :: generated :: physics_direct_space_state :: PhysicsDirectSpaceState , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_space_state ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: physics_direct_space_state :: PhysicsDirectSpaceState , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The timestep (delta) used for the simulation."] # [doc = ""] # [inline] pub fn step (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_step ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The rate at which the body stops rotating, if there are not any other forces moving it."] # [doc = ""] # [inline] pub fn total_angular_damp (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_total_angular_damp ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The total gravity vector being currently applied to this body."] # [doc = ""] # [inline] pub fn total_gravity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_total_gravity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The rate at which the body stops moving, if there are not any other forces moving it."] # [doc = ""] # [inline] pub fn total_linear_damp (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_total_linear_damp ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The body's transformation matrix."] # [doc = ""] # [inline] pub fn transform (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . get_transform ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Calls the built-in force integration code."] # [doc = ""] # [inline] pub fn integrate_forces (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . integrate_forces ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, this body is currently sleeping (not active)."] # [doc = ""] # [inline] pub fn is_sleeping (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . is_sleeping ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The body's rotational velocity."] # [doc = ""] # [inline] pub fn set_angular_velocity (& self , velocity : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . set_angular_velocity ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , velocity) ; } } # [doc = "The body's linear velocity."] # [doc = ""] # [inline] pub fn set_linear_velocity (& self , velocity : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . set_linear_velocity ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , velocity) ; } } # [doc = "If `true`, this body is currently sleeping (not active)."] # [doc = ""] # [inline] pub fn set_sleep_state (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . set_sleep_state ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The body's transformation matrix."] # [doc = ""] # [inline] pub fn set_transform (& self , transform : Transform) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PhysicsDirectBodyStateMethodTable :: get (get_api ()) . set_transform ; let ret = crate :: icalls :: icallptr_void_trans (method_bind , self . this . sys () . as_ptr () , transform) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PhysicsDirectBodyState { } unsafe impl GodotObject for PhysicsDirectBodyState { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "PhysicsDirectBodyState" } } impl std :: ops :: Deref for PhysicsDirectBodyState { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PhysicsDirectBodyState { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for PhysicsDirectBodyState { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PhysicsDirectBodyStateMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_central_force : * mut sys :: godot_method_bind , pub add_force : * mut sys :: godot_method_bind , pub add_torque : * mut sys :: godot_method_bind , pub apply_central_impulse : * mut sys :: godot_method_bind , pub apply_impulse : * mut sys :: godot_method_bind , pub apply_torque_impulse : * mut sys :: godot_method_bind , pub get_angular_velocity : * mut sys :: godot_method_bind , pub get_center_of_mass : * mut sys :: godot_method_bind , pub get_contact_collider : * mut sys :: godot_method_bind , pub get_contact_collider_id : * mut sys :: godot_method_bind , pub get_contact_collider_object : * mut sys :: godot_method_bind , pub get_contact_collider_position : * mut sys :: godot_method_bind , pub get_contact_collider_shape : * mut sys :: godot_method_bind , pub get_contact_collider_velocity_at_position : * mut sys :: godot_method_bind , pub get_contact_count : * mut sys :: godot_method_bind , pub get_contact_impulse : * mut sys :: godot_method_bind , pub get_contact_local_normal : * mut sys :: godot_method_bind , pub get_contact_local_position : * mut sys :: godot_method_bind , pub get_contact_local_shape : * mut sys :: godot_method_bind , pub get_inverse_inertia : * mut sys :: godot_method_bind , pub get_inverse_mass : * mut sys :: godot_method_bind , pub get_linear_velocity : * mut sys :: godot_method_bind , pub get_principal_inertia_axes : * mut sys :: godot_method_bind , pub get_space_state : * mut sys :: godot_method_bind , pub get_step : * mut sys :: godot_method_bind , pub get_total_angular_damp : * mut sys :: godot_method_bind , pub get_total_gravity : * mut sys :: godot_method_bind , pub get_total_linear_damp : * mut sys :: godot_method_bind , pub get_transform : * mut sys :: godot_method_bind , pub integrate_forces : * mut sys :: godot_method_bind , pub is_sleeping : * mut sys :: godot_method_bind , pub set_angular_velocity : * mut sys :: godot_method_bind , pub set_linear_velocity : * mut sys :: godot_method_bind , pub set_sleep_state : * mut sys :: godot_method_bind , pub set_transform : * mut sys :: godot_method_bind } impl PhysicsDirectBodyStateMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PhysicsDirectBodyStateMethodTable = PhysicsDirectBodyStateMethodTable { class_constructor : None , add_central_force : 0 as * mut sys :: godot_method_bind , add_force : 0 as * mut sys :: godot_method_bind , add_torque : 0 as * mut sys :: godot_method_bind , apply_central_impulse : 0 as * mut sys :: godot_method_bind , apply_impulse : 0 as * mut sys :: godot_method_bind , apply_torque_impulse : 0 as * mut sys :: godot_method_bind , get_angular_velocity : 0 as * mut sys :: godot_method_bind , get_center_of_mass : 0 as * mut sys :: godot_method_bind , get_contact_collider : 0 as * mut sys :: godot_method_bind , get_contact_collider_id : 0 as * mut sys :: godot_method_bind , get_contact_collider_object : 0 as * mut sys :: godot_method_bind , get_contact_collider_position : 0 as * mut sys :: godot_method_bind , get_contact_collider_shape : 0 as * mut sys :: godot_method_bind , get_contact_collider_velocity_at_position : 0 as * mut sys :: godot_method_bind , get_contact_count : 0 as * mut sys :: godot_method_bind , get_contact_impulse : 0 as * mut sys :: godot_method_bind , get_contact_local_normal : 0 as * mut sys :: godot_method_bind , get_contact_local_position : 0 as * mut sys :: godot_method_bind , get_contact_local_shape : 0 as * mut sys :: godot_method_bind , get_inverse_inertia : 0 as * mut sys :: godot_method_bind , get_inverse_mass : 0 as * mut sys :: godot_method_bind , get_linear_velocity : 0 as * mut sys :: godot_method_bind , get_principal_inertia_axes : 0 as * mut sys :: godot_method_bind , get_space_state : 0 as * mut sys :: godot_method_bind , get_step : 0 as * mut sys :: godot_method_bind , get_total_angular_damp : 0 as * mut sys :: godot_method_bind , get_total_gravity : 0 as * mut sys :: godot_method_bind , get_total_linear_damp : 0 as * mut sys :: godot_method_bind , get_transform : 0 as * mut sys :: godot_method_bind , integrate_forces : 0 as * mut sys :: godot_method_bind , is_sleeping : 0 as * mut sys :: godot_method_bind , set_angular_velocity : 0 as * mut sys :: godot_method_bind , set_linear_velocity : 0 as * mut sys :: godot_method_bind , set_sleep_state : 0 as * mut sys :: godot_method_bind , set_transform : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PhysicsDirectBodyStateMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PhysicsDirectBodyState\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_central_force = (gd_api . godot_method_bind_get_method) (class_name , "add_central_force\0" . as_ptr () as * const c_char) ; table . add_force = (gd_api . godot_method_bind_get_method) (class_name , "add_force\0" . as_ptr () as * const c_char) ; table . add_torque = (gd_api . godot_method_bind_get_method) (class_name , "add_torque\0" . as_ptr () as * const c_char) ; table . apply_central_impulse = (gd_api . godot_method_bind_get_method) (class_name , "apply_central_impulse\0" . as_ptr () as * const c_char) ; table . apply_impulse = (gd_api . godot_method_bind_get_method) (class_name , "apply_impulse\0" . as_ptr () as * const c_char) ; table . apply_torque_impulse = (gd_api . godot_method_bind_get_method) (class_name , "apply_torque_impulse\0" . as_ptr () as * const c_char) ; table . get_angular_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_angular_velocity\0" . as_ptr () as * const c_char) ; table . get_center_of_mass = (gd_api . godot_method_bind_get_method) (class_name , "get_center_of_mass\0" . as_ptr () as * const c_char) ; table . get_contact_collider = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_collider\0" . as_ptr () as * const c_char) ; table . get_contact_collider_id = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_collider_id\0" . as_ptr () as * const c_char) ; table . get_contact_collider_object = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_collider_object\0" . as_ptr () as * const c_char) ; table . get_contact_collider_position = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_collider_position\0" . as_ptr () as * const c_char) ; table . get_contact_collider_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_collider_shape\0" . as_ptr () as * const c_char) ; table . get_contact_collider_velocity_at_position = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_collider_velocity_at_position\0" . as_ptr () as * const c_char) ; table . get_contact_count = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_count\0" . as_ptr () as * const c_char) ; table . get_contact_impulse = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_impulse\0" . as_ptr () as * const c_char) ; table . get_contact_local_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_local_normal\0" . as_ptr () as * const c_char) ; table . get_contact_local_position = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_local_position\0" . as_ptr () as * const c_char) ; table . get_contact_local_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_contact_local_shape\0" . as_ptr () as * const c_char) ; table . get_inverse_inertia = (gd_api . godot_method_bind_get_method) (class_name , "get_inverse_inertia\0" . as_ptr () as * const c_char) ; table . get_inverse_mass = (gd_api . godot_method_bind_get_method) (class_name , "get_inverse_mass\0" . as_ptr () as * const c_char) ; table . get_linear_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_linear_velocity\0" . as_ptr () as * const c_char) ; table . get_principal_inertia_axes = (gd_api . godot_method_bind_get_method) (class_name , "get_principal_inertia_axes\0" . as_ptr () as * const c_char) ; table . get_space_state = (gd_api . godot_method_bind_get_method) (class_name , "get_space_state\0" . as_ptr () as * const c_char) ; table . get_step = (gd_api . godot_method_bind_get_method) (class_name , "get_step\0" . as_ptr () as * const c_char) ; table . get_total_angular_damp = (gd_api . godot_method_bind_get_method) (class_name , "get_total_angular_damp\0" . as_ptr () as * const c_char) ; table . get_total_gravity = (gd_api . godot_method_bind_get_method) (class_name , "get_total_gravity\0" . as_ptr () as * const c_char) ; table . get_total_linear_damp = (gd_api . godot_method_bind_get_method) (class_name , "get_total_linear_damp\0" . as_ptr () as * const c_char) ; table . get_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_transform\0" . as_ptr () as * const c_char) ; table . integrate_forces = (gd_api . godot_method_bind_get_method) (class_name , "integrate_forces\0" . as_ptr () as * const c_char) ; table . is_sleeping = (gd_api . godot_method_bind_get_method) (class_name , "is_sleeping\0" . as_ptr () as * const c_char) ; table . set_angular_velocity = (gd_api . godot_method_bind_get_method) (class_name , "set_angular_velocity\0" . as_ptr () as * const c_char) ; table . set_linear_velocity = (gd_api . godot_method_bind_get_method) (class_name , "set_linear_velocity\0" . as_ptr () as * const c_char) ; table . set_sleep_state = (gd_api . godot_method_bind_get_method) (class_name , "set_sleep_state\0" . as_ptr () as * const c_char) ; table . set_transform = (gd_api . godot_method_bind_get_method) (class_name , "set_transform\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:382:7833
[INFO] [stdout]     |
[INFO] [stdout] 382 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 # [doc = "`core class VisualShaderNodeScalarFunc` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodescalarfunc.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeScalarFunc inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeScalarFunc { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Function (pub i64) ; impl Function { pub const SIN : Function = Function (0i64) ; pub const COS : Function = Function (1i64) ; pub const TAN : Function = Function (2i64) ; pub const ASIN : Function = Function (3i64) ; pub const ACOS : Function = Function (4i64) ; pub const ATAN : Function = Function (5i64) ; pub const SINH : Function = Function (6i64) ; pub const COSH : Function = Function (7i64) ; pub const TANH : Function = Function (8i64) ; pub const LOG : Function = Function (9i64) ; pub const EXP : Function = Function (10i64) ; pub const SQRT : Function = Function (11i64) ; pub const ABS : Function = Function (12i64) ; pub const SIGN : Function = Function (13i64) ; pub const FLOOR : Function = Function (14i64) ; pub const ROUND : Function = Function (15i64) ; pub const CEIL : Function = Function (16i64) ; pub const FRAC : Function = Function (17i64) ; pub const SATURATE : Function = Function (18i64) ; pub const NEGATE : Function = Function (19i64) ; pub const ACOSH : Function = Function (20i64) ; pub const ASINH : Function = Function (21i64) ; pub const ATANH : Function = Function (22i64) ; pub const DEGREES : Function = Function (23i64) ; pub const EXP2 : Function = Function (24i64) ; pub const INVERSE_SQRT : Function = Function (25i64) ; pub const LOG2 : Function = Function (26i64) ; pub const RADIANS : Function = Function (27i64) ; pub const RECIPROCAL : Function = Function (28i64) ; pub const ROUNDEVEN : Function = Function (29i64) ; pub const TRUNC : Function = Function (30i64) ; pub const ONEMINUS : Function = Function (31i64) ; } impl From < i64 > for Function { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Function > for i64 { # [inline] fn from (v : Function) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShaderNodeScalarFunc { pub const FUNC_ABS : i64 = 12i64 ; pub const FUNC_ACOS : i64 = 4i64 ; pub const FUNC_ACOSH : i64 = 20i64 ; pub const FUNC_ASIN : i64 = 3i64 ; pub const FUNC_ASINH : i64 = 21i64 ; pub const FUNC_ATAN : i64 = 5i64 ; pub const FUNC_ATANH : i64 = 22i64 ; pub const FUNC_CEIL : i64 = 16i64 ; pub const FUNC_COS : i64 = 1i64 ; pub const FUNC_COSH : i64 = 7i64 ; pub const FUNC_DEGREES : i64 = 23i64 ; pub const FUNC_EXP : i64 = 10i64 ; pub const FUNC_EXP2 : i64 = 24i64 ; pub const FUNC_FLOOR : i64 = 14i64 ; pub const FUNC_FRAC : i64 = 17i64 ; pub const FUNC_INVERSE_SQRT : i64 = 25i64 ; pub const FUNC_LOG : i64 = 9i64 ; pub const FUNC_LOG2 : i64 = 26i64 ; pub const FUNC_NEGATE : i64 = 19i64 ; pub const FUNC_ONEMINUS : i64 = 31i64 ; pub const FUNC_RADIANS : i64 = 27i64 ; pub const FUNC_RECIPROCAL : i64 = 28i64 ; pub const FUNC_ROUND : i64 = 15i64 ; pub const FUNC_ROUNDEVEN : i64 = 29i64 ; pub const FUNC_SATURATE : i64 = 18i64 ; pub const FUNC_SIGN : i64 = 13i64 ; pub const FUNC_SIN : i64 = 0i64 ; pub const FUNC_SINH : i64 = 6i64 ; pub const FUNC_SQRT : i64 = 11i64 ; pub const FUNC_TAN : i64 = 2i64 ; pub const FUNC_TANH : i64 = 8i64 ; pub const FUNC_TRUNC : i64 = 30i64 ; } impl VisualShaderNodeScalarFunc { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeScalarFuncMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn function (& self) -> crate :: generated :: visual_shader_node_scalar_func :: Function { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeScalarFuncMethodTable :: get (get_api ()) . get_function ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_scalar_func :: Function (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_function (& self , func : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeScalarFuncMethodTable :: get (get_api ()) . set_function ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , func) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeScalarFunc { } unsafe impl GodotObject for VisualShaderNodeScalarFunc { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeScalarFunc" } } impl std :: ops :: Deref for VisualShaderNodeScalarFunc { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeScalarFunc { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeScalarFunc { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeScalarFunc { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeScalarFunc { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeScalarFunc { } impl Instanciable for VisualShaderNodeScalarFunc { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeScalarFunc :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeScalarFuncMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_function : * mut sys :: godot_method_bind , pub set_function : * mut sys :: godot_method_bind } impl VisualShaderNodeScalarFuncMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeScalarFuncMethodTable = VisualShaderNodeScalarFuncMethodTable { class_constructor : None , get_function : 0 as * mut sys :: godot_method_bind , set_function : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeScalarFuncMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeScalarFunc\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_function = (gd_api . godot_method_bind_get_method) (class_name , "get_function\0" . as_ptr () as * const c_char) ; table . set_function = (gd_api . godot_method_bind_get_method) (class_name , "set_function\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:388:4369
[INFO] [stdout]     |
[INFO] [stdout] 388 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 # [doc = "`core class X509Certificate` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_x509certificate.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nX509Certificate inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct X509Certificate { this : RawObject < Self > , } impl X509Certificate { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = X509CertificateMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Loads a certificate from `path` (\"*.crt\" file)."] # [doc = ""] # [inline] pub fn load (& self , path : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = X509CertificateMethodTable :: get (get_api ()) . load ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , path . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Saves a certificate to the given `path` (should be a \"*.crt\" file)."] # [doc = ""] # [inline] pub fn save (& self , path : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = X509CertificateMethodTable :: get (get_api ()) . save ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , path . into ()) ; GodotError :: result_from_sys (ret as _) } } } impl gdnative_core :: private :: godot_object :: Sealed for X509Certificate { } unsafe impl GodotObject for X509Certificate { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "X509Certificate" } } impl std :: ops :: Deref for X509Certificate { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for X509Certificate { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for X509Certificate { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for X509Certificate { } unsafe impl SubClass < crate :: generated :: object :: Object > for X509Certificate { } impl Instanciable for X509Certificate { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { X509Certificate :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct X509CertificateMethodTable { pub class_constructor : sys :: godot_class_constructor , pub load : * mut sys :: godot_method_bind , pub save : * mut sys :: godot_method_bind } impl X509CertificateMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : X509CertificateMethodTable = X509CertificateMethodTable { class_constructor : None , load : 0 as * mut sys :: godot_method_bind , save : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { X509CertificateMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "X509Certificate\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . load = (gd_api . godot_method_bind_get_method) (class_name , "load\0" . as_ptr () as * const c_char) ; table . save = (gd_api . godot_method_bind_get_method) (class_name , "save\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:394:7068
[INFO] [stdout]     |
[INFO] [stdout] 394 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 # [doc = "`core class VisualScriptLists` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptlists.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptLists inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptLists { this : RawObject < Self > , } impl VisualScriptLists { # [doc = ""] # [doc = ""] # [inline] pub fn add_input_data_port (& self , _type : i64 , name : impl Into < GodotString > , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . add_input_data_port ; let ret = crate :: icalls :: icallptr_void_i64_str_i64 (method_bind , self . this . sys () . as_ptr () , _type , name . into () , index) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_output_data_port (& self , _type : i64 , name : impl Into < GodotString > , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . add_output_data_port ; let ret = crate :: icalls :: icallptr_void_i64_str_i64 (method_bind , self . this . sys () . as_ptr () , _type , name . into () , index) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_input_data_port (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . remove_input_data_port ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_output_data_port (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . remove_output_data_port ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_input_data_port_name (& self , index : i64 , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . set_input_data_port_name ; let ret = crate :: icalls :: icallptr_void_i64_str (method_bind , self . this . sys () . as_ptr () , index , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_input_data_port_type (& self , index : i64 , _type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . set_input_data_port_type ; let ret = crate :: icalls :: icallptr_void_i64_i64 (method_bind , self . this . sys () . as_ptr () , index , _type) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_output_data_port_name (& self , index : i64 , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . set_output_data_port_name ; let ret = crate :: icalls :: icallptr_void_i64_str (method_bind , self . this . sys () . as_ptr () , index , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_output_data_port_type (& self , index : i64 , _type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptListsMethodTable :: get (get_api ()) . set_output_data_port_type ; let ret = crate :: icalls :: icallptr_void_i64_i64 (method_bind , self . this . sys () . as_ptr () , index , _type) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptLists { } unsafe impl GodotObject for VisualScriptLists { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptLists" } } impl std :: ops :: Deref for VisualScriptLists { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptLists { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptLists { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptLists { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptLists { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptLists { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptListsMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_input_data_port : * mut sys :: godot_method_bind , pub add_output_data_port : * mut sys :: godot_method_bind , pub remove_input_data_port : * mut sys :: godot_method_bind , pub remove_output_data_port : * mut sys :: godot_method_bind , pub set_input_data_port_name : * mut sys :: godot_method_bind , pub set_input_data_port_type : * mut sys :: godot_method_bind , pub set_output_data_port_name : * mut sys :: godot_method_bind , pub set_output_data_port_type : * mut sys :: godot_method_bind } impl VisualScriptListsMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptListsMethodTable = VisualScriptListsMethodTable { class_constructor : None , add_input_data_port : 0 as * mut sys :: godot_method_bind , add_output_data_port : 0 as * mut sys :: godot_method_bind , remove_input_data_port : 0 as * mut sys :: godot_method_bind , remove_output_data_port : 0 as * mut sys :: godot_method_bind , set_input_data_port_name : 0 as * mut sys :: godot_method_bind , set_input_data_port_type : 0 as * mut sys :: godot_method_bind , set_output_data_port_name : 0 as * mut sys :: godot_method_bind , set_output_data_port_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptListsMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptLists\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_input_data_port = (gd_api . godot_method_bind_get_method) (class_name , "add_input_data_port\0" . as_ptr () as * const c_char) ; table . add_output_data_port = (gd_api . godot_method_bind_get_method) (class_name , "add_output_data_port\0" . as_ptr () as * const c_char) ; table . remove_input_data_port = (gd_api . godot_method_bind_get_method) (class_name , "remove_input_data_port\0" . as_ptr () as * const c_char) ; table . remove_output_data_port = (gd_api . godot_method_bind_get_method) (class_name , "remove_output_data_port\0" . as_ptr () as * const c_char) ; table . set_input_data_port_name = (gd_api . godot_method_bind_get_method) (class_name , "set_input_data_port_name\0" . as_ptr () as * const c_char) ; table . set_input_data_port_type = (gd_api . godot_method_bind_get_method) (class_name , "set_input_data_port_type\0" . as_ptr () as * const c_char) ; table . set_output_data_port_name = (gd_api . godot_method_bind_get_method) (class_name , "set_output_data_port_name\0" . as_ptr () as * const c_char) ; table . set_output_data_port_type = (gd_api . godot_method_bind_get_method) (class_name , "set_output_data_port_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:400:10854
[INFO] [stdout]     |
[INFO] [stdout] 400 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 # [doc = "`core class Script` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_script.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nScript inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Script { this : RawObject < Self > , } impl Script { # [doc = "Returns `true` if the script can be instanced."] # [doc = ""] # [inline] pub fn can_instance (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . can_instance ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the script directly inherited by this script."] # [doc = ""] # [inline] pub fn get_base_script (& self) -> Option < Ref < crate :: generated :: script :: Script , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_base_script ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: script :: Script , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the script's base type."] # [doc = ""] # [inline] pub fn get_instance_base_type (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_instance_base_type ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the default value of the specified property."] # [doc = ""] # [inline] pub fn get_property_default_value (& self , property : impl Into < GodotString >) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_property_default_value ; let ret = crate :: icalls :: icallptr_var_str (method_bind , self . this . sys () . as_ptr () , property . into ()) ; Variant :: from_sys (ret) } } # [doc = "Returns a dictionary containing constant names and their values."] # [doc = ""] # [inline] pub fn get_script_constant_map (& self) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_script_constant_map ; let ret = crate :: icalls :: icallptr_dict (method_bind , self . this . sys () . as_ptr ()) ; Dictionary :: from_sys (ret) } } # [doc = "Returns the list of methods in this [Script]."] # [doc = ""] # [inline] pub fn get_script_method_list (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_script_method_list ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the list of properties in this [Script]."] # [doc = ""] # [inline] pub fn get_script_property_list (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_script_property_list ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the list of user signals defined in this [Script]."] # [doc = ""] # [inline] pub fn get_script_signal_list (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_script_signal_list ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The script source code or an empty string if source code is not available. When set, does not reload the class implementation automatically."] # [doc = ""] # [inline] pub fn source_code (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . get_source_code ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns `true` if the script, or a base class, defines a signal with the given name."] # [doc = ""] # [inline] pub fn has_script_signal (& self , signal_name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . has_script_signal ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , signal_name . into ()) ; ret as _ } } # [doc = "Returns `true` if the script contains non-empty source code."] # [doc = ""] # [inline] pub fn has_source_code (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . has_source_code ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if `base_object` is an instance of this script."] # [doc = ""] # [inline] pub fn instance_has (& self , base_object : impl AsArg < crate :: generated :: object :: Object >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . instance_has ; let ret = crate :: icalls :: icallptr_bool_obj (method_bind , self . this . sys () . as_ptr () , base_object . as_arg_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the script is a tool script. A tool script can run in the editor."] # [doc = ""] # [inline] pub fn is_tool (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . is_tool ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Reloads the script's class implementation. Returns an error code.\n# Default Arguments\n* `keep_state` - `false`"] # [doc = ""] # [inline] pub fn reload (& self , keep_state : bool) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . reload ; let ret = crate :: icalls :: icallptr_i64_bool (method_bind , self . this . sys () . as_ptr () , keep_state) ; GodotError :: result_from_sys (ret as _) } } # [doc = "The script source code or an empty string if source code is not available. When set, does not reload the class implementation automatically."] # [doc = ""] # [inline] pub fn set_source_code (& self , source : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ScriptMethodTable :: get (get_api ()) . set_source_code ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , source . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Script { } unsafe impl GodotObject for Script { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Script" } } impl std :: ops :: Deref for Script { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Script { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for Script { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Script { } unsafe impl SubClass < crate :: generated :: object :: Object > for Script { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub can_instance : * mut sys :: godot_method_bind , pub get_base_script : * mut sys :: godot_method_bind , pub get_instance_base_type : * mut sys :: godot_method_bind , pub get_property_default_value : * mut sys :: godot_method_bind , pub get_script_constant_map : * mut sys :: godot_method_bind , pub get_script_method_list : * mut sys :: godot_method_bind , pub get_script_property_list : * mut sys :: godot_method_bind , pub get_script_signal_list : * mut sys :: godot_method_bind , pub get_source_code : * mut sys :: godot_method_bind , pub has_script_signal : * mut sys :: godot_method_bind , pub has_source_code : * mut sys :: godot_method_bind , pub instance_has : * mut sys :: godot_method_bind , pub is_tool : * mut sys :: godot_method_bind , pub reload : * mut sys :: godot_method_bind , pub set_source_code : * mut sys :: godot_method_bind } impl ScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ScriptMethodTable = ScriptMethodTable { class_constructor : None , can_instance : 0 as * mut sys :: godot_method_bind , get_base_script : 0 as * mut sys :: godot_method_bind , get_instance_base_type : 0 as * mut sys :: godot_method_bind , get_property_default_value : 0 as * mut sys :: godot_method_bind , get_script_constant_map : 0 as * mut sys :: godot_method_bind , get_script_method_list : 0 as * mut sys :: godot_method_bind , get_script_property_list : 0 as * mut sys :: godot_method_bind , get_script_signal_list : 0 as * mut sys :: godot_method_bind , get_source_code : 0 as * mut sys :: godot_method_bind , has_script_signal : 0 as * mut sys :: godot_method_bind , has_source_code : 0 as * mut sys :: godot_method_bind , instance_has : 0 as * mut sys :: godot_method_bind , is_tool : 0 as * mut sys :: godot_method_bind , reload : 0 as * mut sys :: godot_method_bind , set_source_code : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Script\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . can_instance = (gd_api . godot_method_bind_get_method) (class_name , "can_instance\0" . as_ptr () as * const c_char) ; table . get_base_script = (gd_api . godot_method_bind_get_method) (class_name , "get_base_script\0" . as_ptr () as * const c_char) ; table . get_instance_base_type = (gd_api . godot_method_bind_get_method) (class_name , "get_instance_base_type\0" . as_ptr () as * const c_char) ; table . get_property_default_value = (gd_api . godot_method_bind_get_method) (class_name , "get_property_default_value\0" . as_ptr () as * const c_char) ; table . get_script_constant_map = (gd_api . godot_method_bind_get_method) (class_name , "get_script_constant_map\0" . as_ptr () as * const c_char) ; table . get_script_method_list = (gd_api . godot_method_bind_get_method) (class_name , "get_script_method_list\0" . as_ptr () as * const c_char) ; table . get_script_property_list = (gd_api . godot_method_bind_get_method) (class_name , "get_script_property_list\0" . as_ptr () as * const c_char) ; table . get_script_signal_list = (gd_api . godot_method_bind_get_method) (class_name , "get_script_signal_list\0" . as_ptr () as * const c_char) ; table . get_source_code = (gd_api . godot_method_bind_get_method) (class_name , "get_source_code\0" . as_ptr () as * const c_char) ; table . has_script_signal = (gd_api . godot_method_bind_get_method) (class_name , "has_script_signal\0" . as_ptr () as * const c_char) ; table . has_source_code = (gd_api . godot_method_bind_get_method) (class_name , "has_source_code\0" . as_ptr () as * const c_char) ; table . instance_has = (gd_api . godot_method_bind_get_method) (class_name , "instance_has\0" . as_ptr () as * const c_char) ; table . is_tool = (gd_api . godot_method_bind_get_method) (class_name , "is_tool\0" . as_ptr () as * const c_char) ; table . reload = (gd_api . godot_method_bind_get_method) (class_name , "reload\0" . as_ptr () as * const c_char) ; table . set_source_code = (gd_api . godot_method_bind_get_method) (class_name , "set_source_code\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:406:21299
[INFO] [stdout]     |
[INFO] [stdout] 406 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 # [doc = "`core class TextureProgress` inherits `Range` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_textureprogress.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`TextureProgress` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<TextureProgress>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nTextureProgress inherits methods from:\n - [Range](struct.Range.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct TextureProgress { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct FillMode (pub i64) ; impl FillMode { pub const LEFT_TO_RIGHT : FillMode = FillMode (0i64) ; pub const RIGHT_TO_LEFT : FillMode = FillMode (1i64) ; pub const TOP_TO_BOTTOM : FillMode = FillMode (2i64) ; pub const BOTTOM_TO_TOP : FillMode = FillMode (3i64) ; pub const CLOCKWISE : FillMode = FillMode (4i64) ; pub const COUNTER_CLOCKWISE : FillMode = FillMode (5i64) ; pub const BILINEAR_LEFT_AND_RIGHT : FillMode = FillMode (6i64) ; pub const BILINEAR_TOP_AND_BOTTOM : FillMode = FillMode (7i64) ; pub const CLOCKWISE_AND_COUNTER_CLOCKWISE : FillMode = FillMode (8i64) ; } impl From < i64 > for FillMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < FillMode > for i64 { # [inline] fn from (v : FillMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl TextureProgress { pub const FILL_BILINEAR_LEFT_AND_RIGHT : i64 = 6i64 ; pub const FILL_BILINEAR_TOP_AND_BOTTOM : i64 = 7i64 ; pub const FILL_BOTTOM_TO_TOP : i64 = 3i64 ; pub const FILL_CLOCKWISE : i64 = 4i64 ; pub const FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE : i64 = 8i64 ; pub const FILL_COUNTER_CLOCKWISE : i64 = 5i64 ; pub const FILL_LEFT_TO_RIGHT : i64 = 0i64 ; pub const FILL_RIGHT_TO_LEFT : i64 = 1i64 ; pub const FILL_TOP_TO_BOTTOM : i64 = 2i64 ; } impl TextureProgress { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = TextureProgressMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Upper limit for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's `value` is equal to its `max_value`, the texture fills up to this angle.\nSee [member Range.value], [member Range.max_value]."] # [doc = ""] # [inline] pub fn fill_degrees (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_fill_degrees ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The fill direction. See [enum FillMode] for possible values."] # [doc = ""] # [inline] pub fn fill_mode (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_fill_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, Godot treats the bar's textures like in [NinePatchRect]. Use the `stretch_margin_*` properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching."] # [doc = ""] # [inline] pub fn nine_patch_stretch (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_nine_patch_stretch ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "[Texture] that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of [member texture_progress]."] # [doc = ""] # [inline] pub fn over_texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_over_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "[Texture] that clips based on the node's `value` and [member fill_mode]. As `value` increased, the texture fills up. It shows entirely when `value` reaches `max_value`. It doesn't show at all if `value` is equal to `min_value`.\nThe `value` property comes from [Range]. See [member Range.value], [member Range.min_value], [member Range.max_value]."] # [doc = ""] # [inline] pub fn progress_texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_progress_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Offsets [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]."] # [doc = ""] # [inline] pub fn radial_center_offset (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_radial_center_offset ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Starting angle for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's `value` is equal to its `min_value`, the texture doesn't show up at all. When the `value` increases, the texture fills and tends towards [member radial_fill_degrees]."] # [doc = ""] # [inline] pub fn radial_initial_angle (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_radial_initial_angle ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The height of the 9-patch's top row."] # [doc = ""] # [inline] pub fn stretch_margin (& self , margin : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_stretch_margin ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , margin) ; ret as _ } } # [doc = "Multiplies the color of the bar's `texture_over` texture. The effect is similar to [member CanvasItem.modulate], except it only affects this specific texture instead of the entire node."] # [doc = ""] # [inline] pub fn tint_over (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_tint_over ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Multiplies the color of the bar's `texture_progress` texture."] # [doc = ""] # [inline] pub fn tint_progress (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_tint_progress ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Multiplies the color of the bar's `texture_under` texture."] # [doc = ""] # [inline] pub fn tint_under (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_tint_under ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "[Texture] that draws under the progress bar. The bar's background."] # [doc = ""] # [inline] pub fn under_texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . get_under_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Upper limit for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's `value` is equal to its `max_value`, the texture fills up to this angle.\nSee [member Range.value], [member Range.max_value]."] # [doc = ""] # [inline] pub fn set_fill_degrees (& self , mode : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_fill_degrees ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The fill direction. See [enum FillMode] for possible values."] # [doc = ""] # [inline] pub fn set_fill_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_fill_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "If `true`, Godot treats the bar's textures like in [NinePatchRect]. Use the `stretch_margin_*` properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching."] # [doc = ""] # [inline] pub fn set_nine_patch_stretch (& self , stretch : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_nine_patch_stretch ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , stretch) ; } } # [doc = "[Texture] that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of [member texture_progress]."] # [doc = ""] # [inline] pub fn set_over_texture (& self , tex : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_over_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , tex . as_arg_ptr ()) ; } } # [doc = "[Texture] that clips based on the node's `value` and [member fill_mode]. As `value` increased, the texture fills up. It shows entirely when `value` reaches `max_value`. It doesn't show at all if `value` is equal to `min_value`.\nThe `value` property comes from [Range]. See [member Range.value], [member Range.min_value], [member Range.max_value]."] # [doc = ""] # [inline] pub fn set_progress_texture (& self , tex : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_progress_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , tex . as_arg_ptr ()) ; } } # [doc = "Offsets [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]."] # [doc = ""] # [inline] pub fn set_radial_center_offset (& self , mode : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_radial_center_offset ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "Starting angle for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's `value` is equal to its `min_value`, the texture doesn't show up at all. When the `value` increases, the texture fills and tends towards [member radial_fill_degrees]."] # [doc = ""] # [inline] pub fn set_radial_initial_angle (& self , mode : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_radial_initial_angle ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The height of the 9-patch's top row."] # [doc = ""] # [inline] pub fn set_stretch_margin (& self , margin : i64 , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_stretch_margin ; let ret = crate :: icalls :: icallptr_void_i64_i64 (method_bind , self . this . sys () . as_ptr () , margin , value) ; } } # [doc = "Multiplies the color of the bar's `texture_over` texture. The effect is similar to [member CanvasItem.modulate], except it only affects this specific texture instead of the entire node."] # [doc = ""] # [inline] pub fn set_tint_over (& self , tint : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_tint_over ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , tint) ; } } # [doc = "Multiplies the color of the bar's `texture_progress` texture."] # [doc = ""] # [inline] pub fn set_tint_progress (& self , tint : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_tint_progress ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , tint) ; } } # [doc = "Multiplies the color of the bar's `texture_under` texture."] # [doc = ""] # [inline] pub fn set_tint_under (& self , tint : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_tint_under ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , tint) ; } } # [doc = "[Texture] that draws under the progress bar. The bar's background."] # [doc = ""] # [inline] pub fn set_under_texture (& self , tex : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextureProgressMethodTable :: get (get_api ()) . set_under_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , tex . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for TextureProgress { } unsafe impl GodotObject for TextureProgress { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "TextureProgress" } } impl QueueFree for TextureProgress { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for TextureProgress { type Target = crate :: generated :: range :: Range ; # [inline] fn deref (& self) -> & crate :: generated :: range :: Range { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for TextureProgress { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: range :: Range { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: range :: Range > for TextureProgress { } unsafe impl SubClass < crate :: generated :: control :: Control > for TextureProgress { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for TextureProgress { } unsafe impl SubClass < crate :: generated :: node :: Node > for TextureProgress { } unsafe impl SubClass < crate :: generated :: object :: Object > for TextureProgress { } impl Instanciable for TextureProgress { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { TextureProgress :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct TextureProgressMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_fill_degrees : * mut sys :: godot_method_bind , pub get_fill_mode : * mut sys :: godot_method_bind , pub get_nine_patch_stretch : * mut sys :: godot_method_bind , pub get_over_texture : * mut sys :: godot_method_bind , pub get_progress_texture : * mut sys :: godot_method_bind , pub get_radial_center_offset : * mut sys :: godot_method_bind , pub get_radial_initial_angle : * mut sys :: godot_method_bind , pub get_stretch_margin : * mut sys :: godot_method_bind , pub get_tint_over : * mut sys :: godot_method_bind , pub get_tint_progress : * mut sys :: godot_method_bind , pub get_tint_under : * mut sys :: godot_method_bind , pub get_under_texture : * mut sys :: godot_method_bind , pub set_fill_degrees : * mut sys :: godot_method_bind , pub set_fill_mode : * mut sys :: godot_method_bind , pub set_nine_patch_stretch : * mut sys :: godot_method_bind , pub set_over_texture : * mut sys :: godot_method_bind , pub set_progress_texture : * mut sys :: godot_method_bind , pub set_radial_center_offset : * mut sys :: godot_method_bind , pub set_radial_initial_angle : * mut sys :: godot_method_bind , pub set_stretch_margin : * mut sys :: godot_method_bind , pub set_tint_over : * mut sys :: godot_method_bind , pub set_tint_progress : * mut sys :: godot_method_bind , pub set_tint_under : * mut sys :: godot_method_bind , pub set_under_texture : * mut sys :: godot_method_bind } impl TextureProgressMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : TextureProgressMethodTable = TextureProgressMethodTable { class_constructor : None , get_fill_degrees : 0 as * mut sys :: godot_method_bind , get_fill_mode : 0 as * mut sys :: godot_method_bind , get_nine_patch_stretch : 0 as * mut sys :: godot_method_bind , get_over_texture : 0 as * mut sys :: godot_method_bind , get_progress_texture : 0 as * mut sys :: godot_method_bind , get_radial_center_offset : 0 as * mut sys :: godot_method_bind , get_radial_initial_angle : 0 as * mut sys :: godot_method_bind , get_stretch_margin : 0 as * mut sys :: godot_method_bind , get_tint_over : 0 as * mut sys :: godot_method_bind , get_tint_progress : 0 as * mut sys :: godot_method_bind , get_tint_under : 0 as * mut sys :: godot_method_bind , get_under_texture : 0 as * mut sys :: godot_method_bind , set_fill_degrees : 0 as * mut sys :: godot_method_bind , set_fill_mode : 0 as * mut sys :: godot_method_bind , set_nine_patch_stretch : 0 as * mut sys :: godot_method_bind , set_over_texture : 0 as * mut sys :: godot_method_bind , set_progress_texture : 0 as * mut sys :: godot_method_bind , set_radial_center_offset : 0 as * mut sys :: godot_method_bind , set_radial_initial_angle : 0 as * mut sys :: godot_method_bind , set_stretch_margin : 0 as * mut sys :: godot_method_bind , set_tint_over : 0 as * mut sys :: godot_method_bind , set_tint_progress : 0 as * mut sys :: godot_method_bind , set_tint_under : 0 as * mut sys :: godot_method_bind , set_under_texture : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { TextureProgressMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "TextureProgress\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_fill_degrees = (gd_api . godot_method_bind_get_method) (class_name , "get_fill_degrees\0" . as_ptr () as * const c_char) ; table . get_fill_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_fill_mode\0" . as_ptr () as * const c_char) ; table . get_nine_patch_stretch = (gd_api . godot_method_bind_get_method) (class_name , "get_nine_patch_stretch\0" . as_ptr () as * const c_char) ; table . get_over_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_over_texture\0" . as_ptr () as * const c_char) ; table . get_progress_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_progress_texture\0" . as_ptr () as * const c_char) ; table . get_radial_center_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_radial_center_offset\0" . as_ptr () as * const c_char) ; table . get_radial_initial_angle = (gd_api . godot_method_bind_get_method) (class_name , "get_radial_initial_angle\0" . as_ptr () as * const c_char) ; table . get_stretch_margin = (gd_api . godot_method_bind_get_method) (class_name , "get_stretch_margin\0" . as_ptr () as * const c_char) ; table . get_tint_over = (gd_api . godot_method_bind_get_method) (class_name , "get_tint_over\0" . as_ptr () as * const c_char) ; table . get_tint_progress = (gd_api . godot_method_bind_get_method) (class_name , "get_tint_progress\0" . as_ptr () as * const c_char) ; table . get_tint_under = (gd_api . godot_method_bind_get_method) (class_name , "get_tint_under\0" . as_ptr () as * const c_char) ; table . get_under_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_under_texture\0" . as_ptr () as * const c_char) ; table . set_fill_degrees = (gd_api . godot_method_bind_get_method) (class_name , "set_fill_degrees\0" . as_ptr () as * const c_char) ; table . set_fill_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_fill_mode\0" . as_ptr () as * const c_char) ; table . set_nine_patch_stretch = (gd_api . godot_method_bind_get_method) (class_name , "set_nine_patch_stretch\0" . as_ptr () as * const c_char) ; table . set_over_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_over_texture\0" . as_ptr () as * const c_char) ; table . set_progress_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_progress_texture\0" . as_ptr () as * const c_char) ; table . set_radial_center_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_radial_center_offset\0" . as_ptr () as * const c_char) ; table . set_radial_initial_angle = (gd_api . godot_method_bind_get_method) (class_name , "set_radial_initial_angle\0" . as_ptr () as * const c_char) ; table . set_stretch_margin = (gd_api . godot_method_bind_get_method) (class_name , "set_stretch_margin\0" . as_ptr () as * const c_char) ; table . set_tint_over = (gd_api . godot_method_bind_get_method) (class_name , "set_tint_over\0" . as_ptr () as * const c_char) ; table . set_tint_progress = (gd_api . godot_method_bind_get_method) (class_name , "set_tint_progress\0" . as_ptr () as * const c_char) ; table . set_tint_under = (gd_api . godot_method_bind_get_method) (class_name , "set_tint_under\0" . as_ptr () as * const c_char) ; table . set_under_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_under_texture\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:412:12584
[INFO] [stdout]     |
[INFO] [stdout] 412 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 412 |                 # [doc = "`core class GIProbeData` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_giprobedata.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nGIProbeData inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct GIProbeData { this : RawObject < Self > , } impl GIProbeData { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = GIProbeDataMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn bias (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_bias ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn bounds (& self) -> Aabb { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_bounds ; let ret = crate :: icalls :: icallptr_aabb (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn cell_size (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_cell_size ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn dynamic_data (& self) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_dynamic_data ; let ret = crate :: icalls :: icallptr_i32arr (method_bind , self . this . sys () . as_ptr ()) ; Int32Array :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn dynamic_range (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_dynamic_range ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn energy (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_energy ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn normal_bias (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_normal_bias ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn propagation (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_propagation ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn to_cell_xform (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . get_to_cell_xform ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_compressed (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . is_compressed ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_interior (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . is_interior ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_bias (& self , bias : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_bias ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , bias) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_bounds (& self , bounds : Aabb) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_bounds ; let ret = crate :: icalls :: icallptr_void_aabb (method_bind , self . this . sys () . as_ptr () , bounds) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_cell_size (& self , cell_size : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_cell_size ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , cell_size) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_compress (& self , compress : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_compress ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , compress) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_dynamic_data (& self , dynamic_data : Int32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_dynamic_data ; let ret = crate :: icalls :: icallptr_void_i32arr (method_bind , self . this . sys () . as_ptr () , dynamic_data) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_dynamic_range (& self , dynamic_range : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_dynamic_range ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , dynamic_range) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_energy (& self , energy : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_energy ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , energy) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_interior (& self , interior : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_interior ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , interior) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_normal_bias (& self , bias : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_normal_bias ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , bias) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_propagation (& self , propagation : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_propagation ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , propagation) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_to_cell_xform (& self , to_cell_xform : Transform) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GIProbeDataMethodTable :: get (get_api ()) . set_to_cell_xform ; let ret = crate :: icalls :: icallptr_void_trans (method_bind , self . this . sys () . as_ptr () , to_cell_xform) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for GIProbeData { } unsafe impl GodotObject for GIProbeData { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "GIProbeData" } } impl std :: ops :: Deref for GIProbeData { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for GIProbeData { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for GIProbeData { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for GIProbeData { } unsafe impl SubClass < crate :: generated :: object :: Object > for GIProbeData { } impl Instanciable for GIProbeData { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { GIProbeData :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct GIProbeDataMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_bias : * mut sys :: godot_method_bind , pub get_bounds : * mut sys :: godot_method_bind , pub get_cell_size : * mut sys :: godot_method_bind , pub get_dynamic_data : * mut sys :: godot_method_bind , pub get_dynamic_range : * mut sys :: godot_method_bind , pub get_energy : * mut sys :: godot_method_bind , pub get_normal_bias : * mut sys :: godot_method_bind , pub get_propagation : * mut sys :: godot_method_bind , pub get_to_cell_xform : * mut sys :: godot_method_bind , pub is_compressed : * mut sys :: godot_method_bind , pub is_interior : * mut sys :: godot_method_bind , pub set_bias : * mut sys :: godot_method_bind , pub set_bounds : * mut sys :: godot_method_bind , pub set_cell_size : * mut sys :: godot_method_bind , pub set_compress : * mut sys :: godot_method_bind , pub set_dynamic_data : * mut sys :: godot_method_bind , pub set_dynamic_range : * mut sys :: godot_method_bind , pub set_energy : * mut sys :: godot_method_bind , pub set_interior : * mut sys :: godot_method_bind , pub set_normal_bias : * mut sys :: godot_method_bind , pub set_propagation : * mut sys :: godot_method_bind , pub set_to_cell_xform : * mut sys :: godot_method_bind } impl GIProbeDataMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : GIProbeDataMethodTable = GIProbeDataMethodTable { class_constructor : None , get_bias : 0 as * mut sys :: godot_method_bind , get_bounds : 0 as * mut sys :: godot_method_bind , get_cell_size : 0 as * mut sys :: godot_method_bind , get_dynamic_data : 0 as * mut sys :: godot_method_bind , get_dynamic_range : 0 as * mut sys :: godot_method_bind , get_energy : 0 as * mut sys :: godot_method_bind , get_normal_bias : 0 as * mut sys :: godot_method_bind , get_propagation : 0 as * mut sys :: godot_method_bind , get_to_cell_xform : 0 as * mut sys :: godot_method_bind , is_compressed : 0 as * mut sys :: godot_method_bind , is_interior : 0 as * mut sys :: godot_method_bind , set_bias : 0 as * mut sys :: godot_method_bind , set_bounds : 0 as * mut sys :: godot_method_bind , set_cell_size : 0 as * mut sys :: godot_method_bind , set_compress : 0 as * mut sys :: godot_method_bind , set_dynamic_data : 0 as * mut sys :: godot_method_bind , set_dynamic_range : 0 as * mut sys :: godot_method_bind , set_energy : 0 as * mut sys :: godot_method_bind , set_interior : 0 as * mut sys :: godot_method_bind , set_normal_bias : 0 as * mut sys :: godot_method_bind , set_propagation : 0 as * mut sys :: godot_method_bind , set_to_cell_xform : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { GIProbeDataMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "GIProbeData\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_bias = (gd_api . godot_method_bind_get_method) (class_name , "get_bias\0" . as_ptr () as * const c_char) ; table . get_bounds = (gd_api . godot_method_bind_get_method) (class_name , "get_bounds\0" . as_ptr () as * const c_char) ; table . get_cell_size = (gd_api . godot_method_bind_get_method) (class_name , "get_cell_size\0" . as_ptr () as * const c_char) ; table . get_dynamic_data = (gd_api . godot_method_bind_get_method) (class_name , "get_dynamic_data\0" . as_ptr () as * const c_char) ; table . get_dynamic_range = (gd_api . godot_method_bind_get_method) (class_name , "get_dynamic_range\0" . as_ptr () as * const c_char) ; table . get_energy = (gd_api . godot_method_bind_get_method) (class_name , "get_energy\0" . as_ptr () as * const c_char) ; table . get_normal_bias = (gd_api . godot_method_bind_get_method) (class_name , "get_normal_bias\0" . as_ptr () as * const c_char) ; table . get_propagation = (gd_api . godot_method_bind_get_method) (class_name , "get_propagation\0" . as_ptr () as * const c_char) ; table . get_to_cell_xform = (gd_api . godot_method_bind_get_method) (class_name , "get_to_cell_xform\0" . as_ptr () as * const c_char) ; table . is_compressed = (gd_api . godot_method_bind_get_method) (class_name , "is_compressed\0" . as_ptr () as * const c_char) ; table . is_interior = (gd_api . godot_method_bind_get_method) (class_name , "is_interior\0" . as_ptr () as * const c_char) ; table . set_bias = (gd_api . godot_method_bind_get_method) (class_name , "set_bias\0" . as_ptr () as * const c_char) ; table . set_bounds = (gd_api . godot_method_bind_get_method) (class_name , "set_bounds\0" . as_ptr () as * const c_char) ; table . set_cell_size = (gd_api . godot_method_bind_get_method) (class_name , "set_cell_size\0" . as_ptr () as * const c_char) ; table . set_compress = (gd_api . godot_method_bind_get_method) (class_name , "set_compress\0" . as_ptr () as * const c_char) ; table . set_dynamic_data = (gd_api . godot_method_bind_get_method) (class_name , "set_dynamic_data\0" . as_ptr () as * const c_char) ; table . set_dynamic_range = (gd_api . godot_method_bind_get_method) (class_name , "set_dynamic_range\0" . as_ptr () as * const c_char) ; table . set_energy = (gd_api . godot_method_bind_get_method) (class_name , "set_energy\0" . as_ptr () as * const c_char) ; table . set_interior = (gd_api . godot_method_bind_get_method) (class_name , "set_interior\0" . as_ptr () as * const c_char) ; table . set_normal_bias = (gd_api . godot_method_bind_get_method) (class_name , "set_normal_bias\0" . as_ptr () as * const c_char) ; table . set_propagation = (gd_api . godot_method_bind_get_method) (class_name , "set_propagation\0" . as_ptr () as * const c_char) ; table . set_to_cell_xform = (gd_api . godot_method_bind_get_method) (class_name , "set_to_cell_xform\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:418:7922
[INFO] [stdout]     |
[INFO] [stdout] 418 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 # [doc = "`core class NoiseTexture` inherits `Texture` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_noisetexture.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nNoiseTexture inherits methods from:\n - [Texture](struct.Texture.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct NoiseTexture { this : RawObject < Self > , } impl NoiseTexture { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = NoiseTextureMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn bump_strength (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . get_bump_strength ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn noise (& self) -> Option < Ref < crate :: generated :: open_simplex_noise :: OpenSimplexNoise , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . get_noise ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: open_simplex_noise :: OpenSimplexNoise , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn seamless (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . get_seamless ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_normalmap (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . is_normalmap ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_as_normalmap (& self , as_normalmap : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . set_as_normalmap ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , as_normalmap) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_bump_strength (& self , bump_strength : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . set_bump_strength ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , bump_strength) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_height (& self , height : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . set_height ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , height) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_noise (& self , noise : impl AsArg < crate :: generated :: open_simplex_noise :: OpenSimplexNoise >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . set_noise ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , noise . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_seamless (& self , seamless : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . set_seamless ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , seamless) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_width (& self , width : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NoiseTextureMethodTable :: get (get_api ()) . set_width ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , width) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for NoiseTexture { } unsafe impl GodotObject for NoiseTexture { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "NoiseTexture" } } impl std :: ops :: Deref for NoiseTexture { type Target = crate :: generated :: texture :: Texture ; # [inline] fn deref (& self) -> & crate :: generated :: texture :: Texture { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for NoiseTexture { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: texture :: Texture { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: texture :: Texture > for NoiseTexture { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for NoiseTexture { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for NoiseTexture { } unsafe impl SubClass < crate :: generated :: object :: Object > for NoiseTexture { } impl Instanciable for NoiseTexture { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { NoiseTexture :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct NoiseTextureMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_bump_strength : * mut sys :: godot_method_bind , pub get_noise : * mut sys :: godot_method_bind , pub get_seamless : * mut sys :: godot_method_bind , pub is_normalmap : * mut sys :: godot_method_bind , pub set_as_normalmap : * mut sys :: godot_method_bind , pub set_bump_strength : * mut sys :: godot_method_bind , pub set_height : * mut sys :: godot_method_bind , pub set_noise : * mut sys :: godot_method_bind , pub set_seamless : * mut sys :: godot_method_bind , pub set_width : * mut sys :: godot_method_bind } impl NoiseTextureMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : NoiseTextureMethodTable = NoiseTextureMethodTable { class_constructor : None , get_bump_strength : 0 as * mut sys :: godot_method_bind , get_noise : 0 as * mut sys :: godot_method_bind , get_seamless : 0 as * mut sys :: godot_method_bind , is_normalmap : 0 as * mut sys :: godot_method_bind , set_as_normalmap : 0 as * mut sys :: godot_method_bind , set_bump_strength : 0 as * mut sys :: godot_method_bind , set_height : 0 as * mut sys :: godot_method_bind , set_noise : 0 as * mut sys :: godot_method_bind , set_seamless : 0 as * mut sys :: godot_method_bind , set_width : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { NoiseTextureMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "NoiseTexture\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_bump_strength = (gd_api . godot_method_bind_get_method) (class_name , "get_bump_strength\0" . as_ptr () as * const c_char) ; table . get_noise = (gd_api . godot_method_bind_get_method) (class_name , "get_noise\0" . as_ptr () as * const c_char) ; table . get_seamless = (gd_api . godot_method_bind_get_method) (class_name , "get_seamless\0" . as_ptr () as * const c_char) ; table . is_normalmap = (gd_api . godot_method_bind_get_method) (class_name , "is_normalmap\0" . as_ptr () as * const c_char) ; table . set_as_normalmap = (gd_api . godot_method_bind_get_method) (class_name , "set_as_normalmap\0" . as_ptr () as * const c_char) ; table . set_bump_strength = (gd_api . godot_method_bind_get_method) (class_name , "set_bump_strength\0" . as_ptr () as * const c_char) ; table . set_height = (gd_api . godot_method_bind_get_method) (class_name , "set_height\0" . as_ptr () as * const c_char) ; table . set_noise = (gd_api . godot_method_bind_get_method) (class_name , "set_noise\0" . as_ptr () as * const c_char) ; table . set_seamless = (gd_api . godot_method_bind_get_method) (class_name , "set_seamless\0" . as_ptr () as * const c_char) ; table . set_width = (gd_api . godot_method_bind_get_method) (class_name , "set_width\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:424:11025
[INFO] [stdout]     |
[INFO] [stdout] 424 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 424 |                 # [doc = "`core class AnimationNodeOneShot` inherits `AnimationNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnodeoneshot.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNodeOneShot inherits methods from:\n - [AnimationNode](struct.AnimationNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNodeOneShot { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct MixMode (pub i64) ; impl MixMode { pub const BLEND : MixMode = MixMode (0i64) ; pub const ADD : MixMode = MixMode (1i64) ; } impl From < i64 > for MixMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < MixMode > for i64 { # [inline] fn from (v : MixMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AnimationNodeOneShot { pub const MIX_MODE_ADD : i64 = 1i64 ; pub const MIX_MODE_BLEND : i64 = 0i64 ; } impl AnimationNodeOneShot { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeOneShotMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The delay after which the automatic restart is triggered, in seconds."] # [doc = ""] # [inline] pub fn autorestart_delay (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . get_autorestart_delay ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If [member autorestart] is `true`, a random additional delay (in seconds) between 0 and this value will be added to [member autorestart_delay]."] # [doc = ""] # [inline] pub fn autorestart_random_delay (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . get_autorestart_random_delay ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn fadein_time (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . get_fadein_time ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn fadeout_time (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . get_fadeout_time ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_mix_mode (& self) -> crate :: generated :: animation_node_one_shot :: MixMode { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . get_mix_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: animation_node_one_shot :: MixMode (ret) } } # [doc = "If `true`, the sub-animation will restart automatically after finishing."] # [doc = ""] # [inline] pub fn has_autorestart (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . has_autorestart ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_using_sync (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . is_using_sync ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the sub-animation will restart automatically after finishing."] # [doc = ""] # [inline] pub fn set_autorestart (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . set_autorestart ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The delay after which the automatic restart is triggered, in seconds."] # [doc = ""] # [inline] pub fn set_autorestart_delay (& self , enable : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . set_autorestart_delay ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If [member autorestart] is `true`, a random additional delay (in seconds) between 0 and this value will be added to [member autorestart_delay]."] # [doc = ""] # [inline] pub fn set_autorestart_random_delay (& self , enable : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . set_autorestart_random_delay ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_fadein_time (& self , time : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . set_fadein_time ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , time) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_fadeout_time (& self , time : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . set_fadeout_time ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , time) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_mix_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . set_mix_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_use_sync (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeOneShotMethodTable :: get (get_api ()) . set_use_sync ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNodeOneShot { } unsafe impl GodotObject for AnimationNodeOneShot { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNodeOneShot" } } impl std :: ops :: Deref for AnimationNodeOneShot { type Target = crate :: generated :: animation_node :: AnimationNode ; # [inline] fn deref (& self) -> & crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNodeOneShot { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: animation_node :: AnimationNode > for AnimationNodeOneShot { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNodeOneShot { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNodeOneShot { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNodeOneShot { } impl Instanciable for AnimationNodeOneShot { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNodeOneShot :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeOneShotMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_autorestart_delay : * mut sys :: godot_method_bind , pub get_autorestart_random_delay : * mut sys :: godot_method_bind , pub get_fadein_time : * mut sys :: godot_method_bind , pub get_fadeout_time : * mut sys :: godot_method_bind , pub get_mix_mode : * mut sys :: godot_method_bind , pub has_autorestart : * mut sys :: godot_method_bind , pub is_using_sync : * mut sys :: godot_method_bind , pub set_autorestart : * mut sys :: godot_method_bind , pub set_autorestart_delay : * mut sys :: godot_method_bind , pub set_autorestart_random_delay : * mut sys :: godot_method_bind , pub set_fadein_time : * mut sys :: godot_method_bind , pub set_fadeout_time : * mut sys :: godot_method_bind , pub set_mix_mode : * mut sys :: godot_method_bind , pub set_use_sync : * mut sys :: godot_method_bind } impl AnimationNodeOneShotMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeOneShotMethodTable = AnimationNodeOneShotMethodTable { class_constructor : None , get_autorestart_delay : 0 as * mut sys :: godot_method_bind , get_autorestart_random_delay : 0 as * mut sys :: godot_method_bind , get_fadein_time : 0 as * mut sys :: godot_method_bind , get_fadeout_time : 0 as * mut sys :: godot_method_bind , get_mix_mode : 0 as * mut sys :: godot_method_bind , has_autorestart : 0 as * mut sys :: godot_method_bind , is_using_sync : 0 as * mut sys :: godot_method_bind , set_autorestart : 0 as * mut sys :: godot_method_bind , set_autorestart_delay : 0 as * mut sys :: godot_method_bind , set_autorestart_random_delay : 0 as * mut sys :: godot_method_bind , set_fadein_time : 0 as * mut sys :: godot_method_bind , set_fadeout_time : 0 as * mut sys :: godot_method_bind , set_mix_mode : 0 as * mut sys :: godot_method_bind , set_use_sync : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeOneShotMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNodeOneShot\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_autorestart_delay = (gd_api . godot_method_bind_get_method) (class_name , "get_autorestart_delay\0" . as_ptr () as * const c_char) ; table . get_autorestart_random_delay = (gd_api . godot_method_bind_get_method) (class_name , "get_autorestart_random_delay\0" . as_ptr () as * const c_char) ; table . get_fadein_time = (gd_api . godot_method_bind_get_method) (class_name , "get_fadein_time\0" . as_ptr () as * const c_char) ; table . get_fadeout_time = (gd_api . godot_method_bind_get_method) (class_name , "get_fadeout_time\0" . as_ptr () as * const c_char) ; table . get_mix_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_mix_mode\0" . as_ptr () as * const c_char) ; table . has_autorestart = (gd_api . godot_method_bind_get_method) (class_name , "has_autorestart\0" . as_ptr () as * const c_char) ; table . is_using_sync = (gd_api . godot_method_bind_get_method) (class_name , "is_using_sync\0" . as_ptr () as * const c_char) ; table . set_autorestart = (gd_api . godot_method_bind_get_method) (class_name , "set_autorestart\0" . as_ptr () as * const c_char) ; table . set_autorestart_delay = (gd_api . godot_method_bind_get_method) (class_name , "set_autorestart_delay\0" . as_ptr () as * const c_char) ; table . set_autorestart_random_delay = (gd_api . godot_method_bind_get_method) (class_name , "set_autorestart_random_delay\0" . as_ptr () as * const c_char) ; table . set_fadein_time = (gd_api . godot_method_bind_get_method) (class_name , "set_fadein_time\0" . as_ptr () as * const c_char) ; table . set_fadeout_time = (gd_api . godot_method_bind_get_method) (class_name , "set_fadeout_time\0" . as_ptr () as * const c_char) ; table . set_mix_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_mix_mode\0" . as_ptr () as * const c_char) ; table . set_use_sync = (gd_api . godot_method_bind_get_method) (class_name , "set_use_sync\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:430:11944
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 # [doc = "`core class NinePatchRect` inherits `Control` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_ninepatchrect.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`NinePatchRect` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<NinePatchRect>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nNinePatchRect inherits methods from:\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct NinePatchRect { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct AxisStretchMode (pub i64) ; impl AxisStretchMode { pub const STRETCH : AxisStretchMode = AxisStretchMode (0i64) ; pub const TILE : AxisStretchMode = AxisStretchMode (1i64) ; pub const TILE_FIT : AxisStretchMode = AxisStretchMode (2i64) ; } impl From < i64 > for AxisStretchMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < AxisStretchMode > for i64 { # [inline] fn from (v : AxisStretchMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl NinePatchRect { pub const AXIS_STRETCH_MODE_STRETCH : i64 = 0i64 ; pub const AXIS_STRETCH_MODE_TILE : i64 = 1i64 ; pub const AXIS_STRETCH_MODE_TILE_FIT : i64 = 2i64 ; } impl NinePatchRect { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = NinePatchRectMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Doesn't do anything at the time of writing."] # [doc = ""] # [inline] pub fn h_axis_stretch_mode (& self) -> crate :: generated :: nine_patch_rect :: AxisStretchMode { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . get_h_axis_stretch_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: nine_patch_rect :: AxisStretchMode (ret) } } # [doc = "The height of the 9-slice's top row."] # [doc = ""] # [inline] pub fn patch_margin (& self , margin : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . get_patch_margin ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , margin) ; ret as _ } } # [doc = "Rectangular region of the texture to sample from. If you're working with an atlas, use this property to define the area the 9-slice should use. All other properties are relative to this one. If the rect is empty, NinePatchRect will use the whole texture."] # [doc = ""] # [inline] pub fn region_rect (& self) -> Rect2 { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . get_region_rect ; let ret = crate :: icalls :: icallptr_rect2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The node's texture resource."] # [doc = ""] # [inline] pub fn texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Doesn't do anything at the time of writing."] # [doc = ""] # [inline] pub fn v_axis_stretch_mode (& self) -> crate :: generated :: nine_patch_rect :: AxisStretchMode { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . get_v_axis_stretch_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: nine_patch_rect :: AxisStretchMode (ret) } } # [doc = "If `true`, draw the panel's center. Else, only draw the 9-slice's borders."] # [doc = ""] # [inline] pub fn is_draw_center_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . is_draw_center_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, draw the panel's center. Else, only draw the 9-slice's borders."] # [doc = ""] # [inline] pub fn set_draw_center (& self , draw_center : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . set_draw_center ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , draw_center) ; } } # [doc = "Doesn't do anything at the time of writing."] # [doc = ""] # [inline] pub fn set_h_axis_stretch_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . set_h_axis_stretch_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The height of the 9-slice's top row."] # [doc = ""] # [inline] pub fn set_patch_margin (& self , margin : i64 , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . set_patch_margin ; let ret = crate :: icalls :: icallptr_void_i64_i64 (method_bind , self . this . sys () . as_ptr () , margin , value) ; } } # [doc = "Rectangular region of the texture to sample from. If you're working with an atlas, use this property to define the area the 9-slice should use. All other properties are relative to this one. If the rect is empty, NinePatchRect will use the whole texture."] # [doc = ""] # [inline] pub fn set_region_rect (& self , rect : Rect2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . set_region_rect ; let ret = crate :: icalls :: icallptr_void_rect2 (method_bind , self . this . sys () . as_ptr () , rect) ; } } # [doc = "The node's texture resource."] # [doc = ""] # [inline] pub fn set_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . set_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "Doesn't do anything at the time of writing."] # [doc = ""] # [inline] pub fn set_v_axis_stretch_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NinePatchRectMethodTable :: get (get_api ()) . set_v_axis_stretch_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for NinePatchRect { } unsafe impl GodotObject for NinePatchRect { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "NinePatchRect" } } impl QueueFree for NinePatchRect { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for NinePatchRect { type Target = crate :: generated :: control :: Control ; # [inline] fn deref (& self) -> & crate :: generated :: control :: Control { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for NinePatchRect { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: control :: Control { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: control :: Control > for NinePatchRect { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for NinePatchRect { } unsafe impl SubClass < crate :: generated :: node :: Node > for NinePatchRect { } unsafe impl SubClass < crate :: generated :: object :: Object > for NinePatchRect { } impl Instanciable for NinePatchRect { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { NinePatchRect :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct NinePatchRectMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_h_axis_stretch_mode : * mut sys :: godot_method_bind , pub get_patch_margin : * mut sys :: godot_method_bind , pub get_region_rect : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub get_v_axis_stretch_mode : * mut sys :: godot_method_bind , pub is_draw_center_enabled : * mut sys :: godot_method_bind , pub set_draw_center : * mut sys :: godot_method_bind , pub set_h_axis_stretch_mode : * mut sys :: godot_method_bind , pub set_patch_margin : * mut sys :: godot_method_bind , pub set_region_rect : * mut sys :: godot_method_bind , pub set_texture : * mut sys :: godot_method_bind , pub set_v_axis_stretch_mode : * mut sys :: godot_method_bind } impl NinePatchRectMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : NinePatchRectMethodTable = NinePatchRectMethodTable { class_constructor : None , get_h_axis_stretch_mode : 0 as * mut sys :: godot_method_bind , get_patch_margin : 0 as * mut sys :: godot_method_bind , get_region_rect : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , get_v_axis_stretch_mode : 0 as * mut sys :: godot_method_bind , is_draw_center_enabled : 0 as * mut sys :: godot_method_bind , set_draw_center : 0 as * mut sys :: godot_method_bind , set_h_axis_stretch_mode : 0 as * mut sys :: godot_method_bind , set_patch_margin : 0 as * mut sys :: godot_method_bind , set_region_rect : 0 as * mut sys :: godot_method_bind , set_texture : 0 as * mut sys :: godot_method_bind , set_v_axis_stretch_mode : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { NinePatchRectMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "NinePatchRect\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_h_axis_stretch_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_h_axis_stretch_mode\0" . as_ptr () as * const c_char) ; table . get_patch_margin = (gd_api . godot_method_bind_get_method) (class_name , "get_patch_margin\0" . as_ptr () as * const c_char) ; table . get_region_rect = (gd_api . godot_method_bind_get_method) (class_name , "get_region_rect\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . get_v_axis_stretch_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_v_axis_stretch_mode\0" . as_ptr () as * const c_char) ; table . is_draw_center_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_draw_center_enabled\0" . as_ptr () as * const c_char) ; table . set_draw_center = (gd_api . godot_method_bind_get_method) (class_name , "set_draw_center\0" . as_ptr () as * const c_char) ; table . set_h_axis_stretch_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_h_axis_stretch_mode\0" . as_ptr () as * const c_char) ; table . set_patch_margin = (gd_api . godot_method_bind_get_method) (class_name , "set_patch_margin\0" . as_ptr () as * const c_char) ; table . set_region_rect = (gd_api . godot_method_bind_get_method) (class_name , "set_region_rect\0" . as_ptr () as * const c_char) ; table . set_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_texture\0" . as_ptr () as * const c_char) ; table . set_v_axis_stretch_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_v_axis_stretch_mode\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:436:3658
[INFO] [stdout]     |
[INFO] [stdout] 436 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 436 |                 # [doc = "`core class VisualScriptCondition` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptcondition.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptCondition inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptCondition { this : RawObject < Self > , } impl VisualScriptCondition { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptConditionMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptCondition { } unsafe impl GodotObject for VisualScriptCondition { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptCondition" } } impl std :: ops :: Deref for VisualScriptCondition { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptCondition { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptCondition { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptCondition { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptCondition { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptCondition { } impl Instanciable for VisualScriptCondition { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptCondition :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptConditionMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualScriptConditionMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptConditionMethodTable = VisualScriptConditionMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptConditionMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptCondition\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:448:6954
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 448 |                 # [doc = "`core class WebRTCMultiplayer` inherits `NetworkedMultiplayerPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_webrtcmultiplayer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebRTCMultiplayer inherits methods from:\n - [NetworkedMultiplayerPeer](struct.NetworkedMultiplayerPeer.html)\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebRTCMultiplayer { this : RawObject < Self > , } impl WebRTCMultiplayer { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WebRTCMultiplayerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn add_peer (& self , peer : impl AsArg < crate :: generated :: web_rtc_peer_connection :: WebRTCPeerConnection > , peer_id : i64 , unreliable_lifetime : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCMultiplayerMethodTable :: get (get_api ()) . add_peer ; let ret = crate :: icalls :: icallptr_i64_obj_i64_i64 (method_bind , self . this . sys () . as_ptr () , peer . as_arg_ptr () , peer_id , unreliable_lifetime) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn close (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCMultiplayerMethodTable :: get (get_api ()) . close ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn get_peer (& self , peer_id : i64) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCMultiplayerMethodTable :: get (get_api ()) . get_peer ; let ret = crate :: icalls :: icallptr_dict_i64 (method_bind , self . this . sys () . as_ptr () , peer_id) ; Dictionary :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_peers (& self) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCMultiplayerMethodTable :: get (get_api ()) . get_peers ; let ret = crate :: icalls :: icallptr_dict (method_bind , self . this . sys () . as_ptr ()) ; Dictionary :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn has_peer (& self , peer_id : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCMultiplayerMethodTable :: get (get_api ()) . has_peer ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , peer_id) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn initialize (& self , peer_id : i64 , server_compatibility : bool) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCMultiplayerMethodTable :: get (get_api ()) . initialize ; let ret = crate :: icalls :: icallptr_i64_i64_bool (method_bind , self . this . sys () . as_ptr () , peer_id , server_compatibility) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_peer (& self , peer_id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCMultiplayerMethodTable :: get (get_api ()) . remove_peer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , peer_id) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for WebRTCMultiplayer { } unsafe impl GodotObject for WebRTCMultiplayer { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebRTCMultiplayer" } } impl std :: ops :: Deref for WebRTCMultiplayer { type Target = crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer ; # [inline] fn deref (& self) -> & crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebRTCMultiplayer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer > for WebRTCMultiplayer { } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for WebRTCMultiplayer { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebRTCMultiplayer { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebRTCMultiplayer { } impl Instanciable for WebRTCMultiplayer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WebRTCMultiplayer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebRTCMultiplayerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_peer : * mut sys :: godot_method_bind , pub close : * mut sys :: godot_method_bind , pub get_peer : * mut sys :: godot_method_bind , pub get_peers : * mut sys :: godot_method_bind , pub has_peer : * mut sys :: godot_method_bind , pub initialize : * mut sys :: godot_method_bind , pub remove_peer : * mut sys :: godot_method_bind } impl WebRTCMultiplayerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebRTCMultiplayerMethodTable = WebRTCMultiplayerMethodTable { class_constructor : None , add_peer : 0 as * mut sys :: godot_method_bind , close : 0 as * mut sys :: godot_method_bind , get_peer : 0 as * mut sys :: godot_method_bind , get_peers : 0 as * mut sys :: godot_method_bind , has_peer : 0 as * mut sys :: godot_method_bind , initialize : 0 as * mut sys :: godot_method_bind , remove_peer : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebRTCMultiplayerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebRTCMultiplayer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_peer = (gd_api . godot_method_bind_get_method) (class_name , "add_peer\0" . as_ptr () as * const c_char) ; table . close = (gd_api . godot_method_bind_get_method) (class_name , "close\0" . as_ptr () as * const c_char) ; table . get_peer = (gd_api . godot_method_bind_get_method) (class_name , "get_peer\0" . as_ptr () as * const c_char) ; table . get_peers = (gd_api . godot_method_bind_get_method) (class_name , "get_peers\0" . as_ptr () as * const c_char) ; table . has_peer = (gd_api . godot_method_bind_get_method) (class_name , "has_peer\0" . as_ptr () as * const c_char) ; table . initialize = (gd_api . godot_method_bind_get_method) (class_name , "initialize\0" . as_ptr () as * const c_char) ; table . remove_peer = (gd_api . godot_method_bind_get_method) (class_name , "remove_peer\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:454:8095
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 454 |                 # [doc = "`core class WebSocketClient` inherits `WebSocketMultiplayerPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_websocketclient.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebSocketClient inherits methods from:\n - [WebSocketMultiplayerPeer](struct.WebSocketMultiplayerPeer.html)\n - [NetworkedMultiplayerPeer](struct.NetworkedMultiplayerPeer.html)\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebSocketClient { this : RawObject < Self > , } impl WebSocketClient { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WebSocketClientMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn connect_to_url (& self , url : impl Into < GodotString > , protocols : StringArray , gd_mp_api : bool , custom_headers : StringArray) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . connect_to_url ; let ret = crate :: icalls :: icallptr_i64_str_strarr_bool_strarr (method_bind , self . this . sys () . as_ptr () , url . into () , protocols , gd_mp_api , custom_headers) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn disconnect_from_host (& self , code : i64 , reason : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . disconnect_from_host ; let ret = crate :: icalls :: icallptr_void_i64_str (method_bind , self . this . sys () . as_ptr () , code , reason . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn get_connected_host (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . get_connected_host ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_connected_port (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . get_connected_port ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn trusted_ssl_certificate (& self) -> Option < Ref < crate :: generated :: x509_certificate :: X509Certificate , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . get_trusted_ssl_certificate ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: x509_certificate :: X509Certificate , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_verify_ssl_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . is_verify_ssl_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_trusted_ssl_certificate (& self , arg0 : impl AsArg < crate :: generated :: x509_certificate :: X509Certificate >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . set_trusted_ssl_certificate ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , arg0 . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_verify_ssl_enabled (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketClientMethodTable :: get (get_api ()) . set_verify_ssl_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for WebSocketClient { } unsafe impl GodotObject for WebSocketClient { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebSocketClient" } } impl std :: ops :: Deref for WebSocketClient { type Target = crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer ; # [inline] fn deref (& self) -> & crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebSocketClient { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer > for WebSocketClient { } unsafe impl SubClass < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer > for WebSocketClient { } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for WebSocketClient { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebSocketClient { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebSocketClient { } impl Instanciable for WebSocketClient { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WebSocketClient :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebSocketClientMethodTable { pub class_constructor : sys :: godot_class_constructor , pub connect_to_url : * mut sys :: godot_method_bind , pub disconnect_from_host : * mut sys :: godot_method_bind , pub get_connected_host : * mut sys :: godot_method_bind , pub get_connected_port : * mut sys :: godot_method_bind , pub get_trusted_ssl_certificate : * mut sys :: godot_method_bind , pub is_verify_ssl_enabled : * mut sys :: godot_method_bind , pub set_trusted_ssl_certificate : * mut sys :: godot_method_bind , pub set_verify_ssl_enabled : * mut sys :: godot_method_bind } impl WebSocketClientMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebSocketClientMethodTable = WebSocketClientMethodTable { class_constructor : None , connect_to_url : 0 as * mut sys :: godot_method_bind , disconnect_from_host : 0 as * mut sys :: godot_method_bind , get_connected_host : 0 as * mut sys :: godot_method_bind , get_connected_port : 0 as * mut sys :: godot_method_bind , get_trusted_ssl_certificate : 0 as * mut sys :: godot_method_bind , is_verify_ssl_enabled : 0 as * mut sys :: godot_method_bind , set_trusted_ssl_certificate : 0 as * mut sys :: godot_method_bind , set_verify_ssl_enabled : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebSocketClientMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebSocketClient\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . connect_to_url = (gd_api . godot_method_bind_get_method) (class_name , "connect_to_url\0" . as_ptr () as * const c_char) ; table . disconnect_from_host = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_from_host\0" . as_ptr () as * const c_char) ; table . get_connected_host = (gd_api . godot_method_bind_get_method) (class_name , "get_connected_host\0" . as_ptr () as * const c_char) ; table . get_connected_port = (gd_api . godot_method_bind_get_method) (class_name , "get_connected_port\0" . as_ptr () as * const c_char) ; table . get_trusted_ssl_certificate = (gd_api . godot_method_bind_get_method) (class_name , "get_trusted_ssl_certificate\0" . as_ptr () as * const c_char) ; table . is_verify_ssl_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_verify_ssl_enabled\0" . as_ptr () as * const c_char) ; table . set_trusted_ssl_certificate = (gd_api . godot_method_bind_get_method) (class_name , "set_trusted_ssl_certificate\0" . as_ptr () as * const c_char) ; table . set_verify_ssl_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_verify_ssl_enabled\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:466:27207
[INFO] [stdout]     |
[INFO] [stdout] 466 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 466 |                 # [doc = "`core class Area2D` inherits `CollisionObject2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_area2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Area2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Area2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nArea2D inherits methods from:\n - [CollisionObject2D](struct.CollisionObject2D.html)\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Area2D { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct SpaceOverride (pub i64) ; impl SpaceOverride { pub const DISABLED : SpaceOverride = SpaceOverride (0i64) ; pub const COMBINE : SpaceOverride = SpaceOverride (1i64) ; pub const COMBINE_REPLACE : SpaceOverride = SpaceOverride (2i64) ; pub const REPLACE : SpaceOverride = SpaceOverride (3i64) ; pub const REPLACE_COMBINE : SpaceOverride = SpaceOverride (4i64) ; } impl From < i64 > for SpaceOverride { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < SpaceOverride > for i64 { # [inline] fn from (v : SpaceOverride) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Area2D { pub const SPACE_OVERRIDE_COMBINE : i64 = 1i64 ; pub const SPACE_OVERRIDE_COMBINE_REPLACE : i64 = 2i64 ; pub const SPACE_OVERRIDE_DISABLED : i64 = 0i64 ; pub const SPACE_OVERRIDE_REPLACE : i64 = 3i64 ; pub const SPACE_OVERRIDE_REPLACE_COMBINE : i64 = 4i64 ; } impl Area2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Area2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from `0` (no damping) to `1` (full damping)."] # [doc = ""] # [inline] pub fn angular_damp (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_angular_damp ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The name of the area's audio bus."] # [doc = ""] # [inline] pub fn audio_bus_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_audio_bus_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also [member collision_mask]. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_layer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_collision_layer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an individual bit on the layer mask. Describes whether other areas will collide with this one on the given layer."] # [doc = ""] # [inline] pub fn get_collision_layer_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_collision_layer_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = "The physics layers this area scans to determine collision detection. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_collision_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an individual bit on the collision mask. Describes whether this area will collide with others on the given layer."] # [doc = ""] # [inline] pub fn get_collision_mask_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_collision_mask_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = "The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction."] # [doc = ""] # [inline] pub fn gravity (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_gravity ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance."] # [doc = ""] # [inline] pub fn gravity_distance_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_gravity_distance_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The area's gravity vector (not normalized). If gravity is a point (see [member gravity_point]), this will be the point of attraction."] # [doc = ""] # [inline] pub fn gravity_vector (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_gravity_vector ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from `0` (no damping) to `1` (full damping)."] # [doc = ""] # [inline] pub fn linear_damp (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_linear_damp ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a list of intersecting [Area2D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead."] # [doc = ""] # [inline] pub fn get_overlapping_areas (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_overlapping_areas ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns a list of intersecting [PhysicsBody2D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead."] # [doc = ""] # [inline] pub fn get_overlapping_bodies (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_overlapping_bodies ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The area's priority. Higher priority areas are processed first."] # [doc = ""] # [inline] pub fn priority (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_priority ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Override mode for gravity and damping calculations within this area. See [enum SpaceOverride] for possible values."] # [doc = ""] # [inline] pub fn space_override_mode (& self) -> crate :: generated :: area_2d :: SpaceOverride { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . get_space_override_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: area_2d :: SpaceOverride (ret) } } # [doc = "If `true`, gravity is calculated from a point (set via [member gravity_vec]). See also [member space_override]."] # [doc = ""] # [inline] pub fn is_gravity_a_point (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . is_gravity_a_point ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, other monitoring areas can detect this area."] # [doc = ""] # [inline] pub fn is_monitorable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . is_monitorable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the area detects bodies or areas entering and exiting it."] # [doc = ""] # [inline] pub fn is_monitoring (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . is_monitoring ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the area's audio bus overrides the default audio bus."] # [doc = ""] # [inline] pub fn is_overriding_audio_bus (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . is_overriding_audio_bus ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the given area overlaps the Area2D.\n**Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead."] # [doc = ""] # [inline] pub fn overlaps_area (& self , area : impl AsArg < crate :: generated :: node :: Node >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . overlaps_area ; let ret = crate :: icalls :: icallptr_bool_obj (method_bind , self . this . sys () . as_ptr () , area . as_arg_ptr ()) ; ret as _ } } # [doc = "If `true`, the given physics body overlaps the Area2D.\n**Note:** The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.\nThe `body` argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body)."] # [doc = ""] # [inline] pub fn overlaps_body (& self , body : impl AsArg < crate :: generated :: node :: Node >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . overlaps_body ; let ret = crate :: icalls :: icallptr_bool_obj (method_bind , self . this . sys () . as_ptr () , body . as_arg_ptr ()) ; ret as _ } } # [doc = "The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from `0` (no damping) to `1` (full damping)."] # [doc = ""] # [inline] pub fn set_angular_damp (& self , angular_damp : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_angular_damp ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , angular_damp) ; } } # [doc = "The name of the area's audio bus."] # [doc = ""] # [inline] pub fn set_audio_bus_name (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_audio_bus_name ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "If `true`, the area's audio bus overrides the default audio bus."] # [doc = ""] # [inline] pub fn set_audio_bus_override (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_audio_bus_override ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also [member collision_mask]. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_layer (& self , collision_layer : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_collision_layer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_layer) ; } } # [doc = "Set/clear individual bits on the layer mask. This makes getting an area in/out of only one layer easier."] # [doc = ""] # [inline] pub fn set_collision_layer_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_collision_layer_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = "The physics layers this area scans to determine collision detection. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_mask (& self , collision_mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_collision_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_mask) ; } } # [doc = "Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier."] # [doc = ""] # [inline] pub fn set_collision_mask_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_collision_mask_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = "The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction."] # [doc = ""] # [inline] pub fn set_gravity (& self , gravity : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_gravity ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , gravity) ; } } # [doc = "The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance."] # [doc = ""] # [inline] pub fn set_gravity_distance_scale (& self , distance_scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_gravity_distance_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , distance_scale) ; } } # [doc = "If `true`, gravity is calculated from a point (set via [member gravity_vec]). See also [member space_override]."] # [doc = ""] # [inline] pub fn set_gravity_is_point (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_gravity_is_point ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The area's gravity vector (not normalized). If gravity is a point (see [member gravity_point]), this will be the point of attraction."] # [doc = ""] # [inline] pub fn set_gravity_vector (& self , vector : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_gravity_vector ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , vector) ; } } # [doc = "The rate at which objects stop moving in this area. Represents the linear velocity lost per second. Values range from `0` (no damping) to `1` (full damping)."] # [doc = ""] # [inline] pub fn set_linear_damp (& self , linear_damp : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_linear_damp ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , linear_damp) ; } } # [doc = "If `true`, other monitoring areas can detect this area."] # [doc = ""] # [inline] pub fn set_monitorable (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_monitorable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, the area detects bodies or areas entering and exiting it."] # [doc = ""] # [inline] pub fn set_monitoring (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_monitoring ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The area's priority. Higher priority areas are processed first."] # [doc = ""] # [inline] pub fn set_priority (& self , priority : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_priority ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , priority) ; } } # [doc = "Override mode for gravity and damping calculations within this area. See [enum SpaceOverride] for possible values."] # [doc = ""] # [inline] pub fn set_space_override_mode (& self , space_override_mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Area2DMethodTable :: get (get_api ()) . set_space_override_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , space_override_mode) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Area2D { } unsafe impl GodotObject for Area2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Area2D" } } impl QueueFree for Area2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Area2D { type Target = crate :: generated :: collision_object_2d :: CollisionObject2D ; # [inline] fn deref (& self) -> & crate :: generated :: collision_object_2d :: CollisionObject2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Area2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: collision_object_2d :: CollisionObject2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: collision_object_2d :: CollisionObject2D > for Area2D { } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for Area2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Area2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for Area2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for Area2D { } impl Instanciable for Area2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Area2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Area2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_angular_damp : * mut sys :: godot_method_bind , pub get_audio_bus_name : * mut sys :: godot_method_bind , pub get_collision_layer : * mut sys :: godot_method_bind , pub get_collision_layer_bit : * mut sys :: godot_method_bind , pub get_collision_mask : * mut sys :: godot_method_bind , pub get_collision_mask_bit : * mut sys :: godot_method_bind , pub get_gravity : * mut sys :: godot_method_bind , pub get_gravity_distance_scale : * mut sys :: godot_method_bind , pub get_gravity_vector : * mut sys :: godot_method_bind , pub get_linear_damp : * mut sys :: godot_method_bind , pub get_overlapping_areas : * mut sys :: godot_method_bind , pub get_overlapping_bodies : * mut sys :: godot_method_bind , pub get_priority : * mut sys :: godot_method_bind , pub get_space_override_mode : * mut sys :: godot_method_bind , pub is_gravity_a_point : * mut sys :: godot_method_bind , pub is_monitorable : * mut sys :: godot_method_bind , pub is_monitoring : * mut sys :: godot_method_bind , pub is_overriding_audio_bus : * mut sys :: godot_method_bind , pub overlaps_area : * mut sys :: godot_method_bind , pub overlaps_body : * mut sys :: godot_method_bind , pub set_angular_damp : * mut sys :: godot_method_bind , pub set_audio_bus_name : * mut sys :: godot_method_bind , pub set_audio_bus_override : * mut sys :: godot_method_bind , pub set_collision_layer : * mut sys :: godot_method_bind , pub set_collision_layer_bit : * mut sys :: godot_method_bind , pub set_collision_mask : * mut sys :: godot_method_bind , pub set_collision_mask_bit : * mut sys :: godot_method_bind , pub set_gravity : * mut sys :: godot_method_bind , pub set_gravity_distance_scale : * mut sys :: godot_method_bind , pub set_gravity_is_point : * mut sys :: godot_method_bind , pub set_gravity_vector : * mut sys :: godot_method_bind , pub set_linear_damp : * mut sys :: godot_method_bind , pub set_monitorable : * mut sys :: godot_method_bind , pub set_monitoring : * mut sys :: godot_method_bind , pub set_priority : * mut sys :: godot_method_bind , pub set_space_override_mode : * mut sys :: godot_method_bind } impl Area2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Area2DMethodTable = Area2DMethodTable { class_constructor : None , get_angular_damp : 0 as * mut sys :: godot_method_bind , get_audio_bus_name : 0 as * mut sys :: godot_method_bind , get_collision_layer : 0 as * mut sys :: godot_method_bind , get_collision_layer_bit : 0 as * mut sys :: godot_method_bind , get_collision_mask : 0 as * mut sys :: godot_method_bind , get_collision_mask_bit : 0 as * mut sys :: godot_method_bind , get_gravity : 0 as * mut sys :: godot_method_bind , get_gravity_distance_scale : 0 as * mut sys :: godot_method_bind , get_gravity_vector : 0 as * mut sys :: godot_method_bind , get_linear_damp : 0 as * mut sys :: godot_method_bind , get_overlapping_areas : 0 as * mut sys :: godot_method_bind , get_overlapping_bodies : 0 as * mut sys :: godot_method_bind , get_priority : 0 as * mut sys :: godot_method_bind , get_space_override_mode : 0 as * mut sys :: godot_method_bind , is_gravity_a_point : 0 as * mut sys :: godot_method_bind , is_monitorable : 0 as * mut sys :: godot_method_bind , is_monitoring : 0 as * mut sys :: godot_method_bind , is_overriding_audio_bus : 0 as * mut sys :: godot_method_bind , overlaps_area : 0 as * mut sys :: godot_method_bind , overlaps_body : 0 as * mut sys :: godot_method_bind , set_angular_damp : 0 as * mut sys :: godot_method_bind , set_audio_bus_name : 0 as * mut sys :: godot_method_bind , set_audio_bus_override : 0 as * mut sys :: godot_method_bind , set_collision_layer : 0 as * mut sys :: godot_method_bind , set_collision_layer_bit : 0 as * mut sys :: godot_method_bind , set_collision_mask : 0 as * mut sys :: godot_method_bind , set_collision_mask_bit : 0 as * mut sys :: godot_method_bind , set_gravity : 0 as * mut sys :: godot_method_bind , set_gravity_distance_scale : 0 as * mut sys :: godot_method_bind , set_gravity_is_point : 0 as * mut sys :: godot_method_bind , set_gravity_vector : 0 as * mut sys :: godot_method_bind , set_linear_damp : 0 as * mut sys :: godot_method_bind , set_monitorable : 0 as * mut sys :: godot_method_bind , set_monitoring : 0 as * mut sys :: godot_method_bind , set_priority : 0 as * mut sys :: godot_method_bind , set_space_override_mode : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Area2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Area2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_angular_damp = (gd_api . godot_method_bind_get_method) (class_name , "get_angular_damp\0" . as_ptr () as * const c_char) ; table . get_audio_bus_name = (gd_api . godot_method_bind_get_method) (class_name , "get_audio_bus_name\0" . as_ptr () as * const c_char) ; table . get_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer\0" . as_ptr () as * const c_char) ; table . get_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . get_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask\0" . as_ptr () as * const c_char) ; table . get_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . get_gravity = (gd_api . godot_method_bind_get_method) (class_name , "get_gravity\0" . as_ptr () as * const c_char) ; table . get_gravity_distance_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_gravity_distance_scale\0" . as_ptr () as * const c_char) ; table . get_gravity_vector = (gd_api . godot_method_bind_get_method) (class_name , "get_gravity_vector\0" . as_ptr () as * const c_char) ; table . get_linear_damp = (gd_api . godot_method_bind_get_method) (class_name , "get_linear_damp\0" . as_ptr () as * const c_char) ; table . get_overlapping_areas = (gd_api . godot_method_bind_get_method) (class_name , "get_overlapping_areas\0" . as_ptr () as * const c_char) ; table . get_overlapping_bodies = (gd_api . godot_method_bind_get_method) (class_name , "get_overlapping_bodies\0" . as_ptr () as * const c_char) ; table . get_priority = (gd_api . godot_method_bind_get_method) (class_name , "get_priority\0" . as_ptr () as * const c_char) ; table . get_space_override_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_space_override_mode\0" . as_ptr () as * const c_char) ; table . is_gravity_a_point = (gd_api . godot_method_bind_get_method) (class_name , "is_gravity_a_point\0" . as_ptr () as * const c_char) ; table . is_monitorable = (gd_api . godot_method_bind_get_method) (class_name , "is_monitorable\0" . as_ptr () as * const c_char) ; table . is_monitoring = (gd_api . godot_method_bind_get_method) (class_name , "is_monitoring\0" . as_ptr () as * const c_char) ; table . is_overriding_audio_bus = (gd_api . godot_method_bind_get_method) (class_name , "is_overriding_audio_bus\0" . as_ptr () as * const c_char) ; table . overlaps_area = (gd_api . godot_method_bind_get_method) (class_name , "overlaps_area\0" . as_ptr () as * const c_char) ; table . overlaps_body = (gd_api . godot_method_bind_get_method) (class_name , "overlaps_body\0" . as_ptr () as * const c_char) ; table . set_angular_damp = (gd_api . godot_method_bind_get_method) (class_name , "set_angular_damp\0" . as_ptr () as * const c_char) ; table . set_audio_bus_name = (gd_api . godot_method_bind_get_method) (class_name , "set_audio_bus_name\0" . as_ptr () as * const c_char) ; table . set_audio_bus_override = (gd_api . godot_method_bind_get_method) (class_name , "set_audio_bus_override\0" . as_ptr () as * const c_char) ; table . set_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer\0" . as_ptr () as * const c_char) ; table . set_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . set_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask\0" . as_ptr () as * const c_char) ; table . set_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . set_gravity = (gd_api . godot_method_bind_get_method) (class_name , "set_gravity\0" . as_ptr () as * const c_char) ; table . set_gravity_distance_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_gravity_distance_scale\0" . as_ptr () as * const c_char) ; table . set_gravity_is_point = (gd_api . godot_method_bind_get_method) (class_name , "set_gravity_is_point\0" . as_ptr () as * const c_char) ; table . set_gravity_vector = (gd_api . godot_method_bind_get_method) (class_name , "set_gravity_vector\0" . as_ptr () as * const c_char) ; table . set_linear_damp = (gd_api . godot_method_bind_get_method) (class_name , "set_linear_damp\0" . as_ptr () as * const c_char) ; table . set_monitorable = (gd_api . godot_method_bind_get_method) (class_name , "set_monitorable\0" . as_ptr () as * const c_char) ; table . set_monitoring = (gd_api . godot_method_bind_get_method) (class_name , "set_monitoring\0" . as_ptr () as * const c_char) ; table . set_priority = (gd_api . godot_method_bind_get_method) (class_name , "set_priority\0" . as_ptr () as * const c_char) ; table . set_space_override_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_space_override_mode\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:472:10273
[INFO] [stdout]     |
[INFO] [stdout] 472 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 # [doc = "`core class InputEventMIDI` inherits `InputEvent` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_inputeventmidi.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nInputEventMIDI inherits methods from:\n - [InputEvent](struct.InputEvent.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct InputEventMIDI { this : RawObject < Self > , } impl InputEventMIDI { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = InputEventMIDIMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn channel (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_channel ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn controller_number (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_controller_number ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn controller_value (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_controller_value ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn instrument (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_instrument ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn message (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_message ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn pitch (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_pitch ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn pressure (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_pressure ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn velocity (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . get_velocity ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_channel (& self , channel : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_channel ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , channel) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_controller_number (& self , controller_number : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_controller_number ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , controller_number) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_controller_value (& self , controller_value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_controller_value ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , controller_value) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_instrument (& self , instrument : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_instrument ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , instrument) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_message (& self , message : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_message ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , message) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_pitch (& self , pitch : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_pitch ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , pitch) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_pressure (& self , pressure : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_pressure ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , pressure) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_velocity (& self , velocity : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMIDIMethodTable :: get (get_api ()) . set_velocity ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , velocity) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for InputEventMIDI { } unsafe impl GodotObject for InputEventMIDI { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "InputEventMIDI" } } impl std :: ops :: Deref for InputEventMIDI { type Target = crate :: generated :: input_event :: InputEvent ; # [inline] fn deref (& self) -> & crate :: generated :: input_event :: InputEvent { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for InputEventMIDI { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: input_event :: InputEvent { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: input_event :: InputEvent > for InputEventMIDI { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for InputEventMIDI { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for InputEventMIDI { } unsafe impl SubClass < crate :: generated :: object :: Object > for InputEventMIDI { } impl Instanciable for InputEventMIDI { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { InputEventMIDI :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct InputEventMIDIMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_channel : * mut sys :: godot_method_bind , pub get_controller_number : * mut sys :: godot_method_bind , pub get_controller_value : * mut sys :: godot_method_bind , pub get_instrument : * mut sys :: godot_method_bind , pub get_message : * mut sys :: godot_method_bind , pub get_pitch : * mut sys :: godot_method_bind , pub get_pressure : * mut sys :: godot_method_bind , pub get_velocity : * mut sys :: godot_method_bind , pub set_channel : * mut sys :: godot_method_bind , pub set_controller_number : * mut sys :: godot_method_bind , pub set_controller_value : * mut sys :: godot_method_bind , pub set_instrument : * mut sys :: godot_method_bind , pub set_message : * mut sys :: godot_method_bind , pub set_pitch : * mut sys :: godot_method_bind , pub set_pressure : * mut sys :: godot_method_bind , pub set_velocity : * mut sys :: godot_method_bind } impl InputEventMIDIMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : InputEventMIDIMethodTable = InputEventMIDIMethodTable { class_constructor : None , get_channel : 0 as * mut sys :: godot_method_bind , get_controller_number : 0 as * mut sys :: godot_method_bind , get_controller_value : 0 as * mut sys :: godot_method_bind , get_instrument : 0 as * mut sys :: godot_method_bind , get_message : 0 as * mut sys :: godot_method_bind , get_pitch : 0 as * mut sys :: godot_method_bind , get_pressure : 0 as * mut sys :: godot_method_bind , get_velocity : 0 as * mut sys :: godot_method_bind , set_channel : 0 as * mut sys :: godot_method_bind , set_controller_number : 0 as * mut sys :: godot_method_bind , set_controller_value : 0 as * mut sys :: godot_method_bind , set_instrument : 0 as * mut sys :: godot_method_bind , set_message : 0 as * mut sys :: godot_method_bind , set_pitch : 0 as * mut sys :: godot_method_bind , set_pressure : 0 as * mut sys :: godot_method_bind , set_velocity : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { InputEventMIDIMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "InputEventMIDI\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_channel = (gd_api . godot_method_bind_get_method) (class_name , "get_channel\0" . as_ptr () as * const c_char) ; table . get_controller_number = (gd_api . godot_method_bind_get_method) (class_name , "get_controller_number\0" . as_ptr () as * const c_char) ; table . get_controller_value = (gd_api . godot_method_bind_get_method) (class_name , "get_controller_value\0" . as_ptr () as * const c_char) ; table . get_instrument = (gd_api . godot_method_bind_get_method) (class_name , "get_instrument\0" . as_ptr () as * const c_char) ; table . get_message = (gd_api . godot_method_bind_get_method) (class_name , "get_message\0" . as_ptr () as * const c_char) ; table . get_pitch = (gd_api . godot_method_bind_get_method) (class_name , "get_pitch\0" . as_ptr () as * const c_char) ; table . get_pressure = (gd_api . godot_method_bind_get_method) (class_name , "get_pressure\0" . as_ptr () as * const c_char) ; table . get_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_velocity\0" . as_ptr () as * const c_char) ; table . set_channel = (gd_api . godot_method_bind_get_method) (class_name , "set_channel\0" . as_ptr () as * const c_char) ; table . set_controller_number = (gd_api . godot_method_bind_get_method) (class_name , "set_controller_number\0" . as_ptr () as * const c_char) ; table . set_controller_value = (gd_api . godot_method_bind_get_method) (class_name , "set_controller_value\0" . as_ptr () as * const c_char) ; table . set_instrument = (gd_api . godot_method_bind_get_method) (class_name , "set_instrument\0" . as_ptr () as * const c_char) ; table . set_message = (gd_api . godot_method_bind_get_method) (class_name , "set_message\0" . as_ptr () as * const c_char) ; table . set_pitch = (gd_api . godot_method_bind_get_method) (class_name , "set_pitch\0" . as_ptr () as * const c_char) ; table . set_pressure = (gd_api . godot_method_bind_get_method) (class_name , "set_pressure\0" . as_ptr () as * const c_char) ; table . set_velocity = (gd_api . godot_method_bind_get_method) (class_name , "set_velocity\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:478:4252
[INFO] [stdout]     |
[INFO] [stdout] 478 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 # [doc = "`core class SphereShape` inherits `Shape` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_sphereshape.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nSphereShape inherits methods from:\n - [Shape](struct.Shape.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SphereShape { this : RawObject < Self > , } impl SphereShape { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SphereShapeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The sphere's radius. The shape's diameter is double the radius."] # [doc = ""] # [inline] pub fn radius (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SphereShapeMethodTable :: get (get_api ()) . get_radius ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The sphere's radius. The shape's diameter is double the radius."] # [doc = ""] # [inline] pub fn set_radius (& self , radius : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SphereShapeMethodTable :: get (get_api ()) . set_radius ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , radius) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SphereShape { } unsafe impl GodotObject for SphereShape { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "SphereShape" } } impl std :: ops :: Deref for SphereShape { type Target = crate :: generated :: shape :: Shape ; # [inline] fn deref (& self) -> & crate :: generated :: shape :: Shape { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SphereShape { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: shape :: Shape { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: shape :: Shape > for SphereShape { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for SphereShape { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for SphereShape { } unsafe impl SubClass < crate :: generated :: object :: Object > for SphereShape { } impl Instanciable for SphereShape { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SphereShape :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SphereShapeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_radius : * mut sys :: godot_method_bind , pub set_radius : * mut sys :: godot_method_bind } impl SphereShapeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SphereShapeMethodTable = SphereShapeMethodTable { class_constructor : None , get_radius : 0 as * mut sys :: godot_method_bind , set_radius : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SphereShapeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SphereShape\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_radius = (gd_api . godot_method_bind_get_method) (class_name , "get_radius\0" . as_ptr () as * const c_char) ; table . set_radius = (gd_api . godot_method_bind_get_method) (class_name , "set_radius\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:484:3616
[INFO] [stdout]     |
[INFO] [stdout] 484 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 484 |                 # [doc = "`core class VisualScriptSubCall` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptsubcall.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptSubCall inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptSubCall { this : RawObject < Self > , } impl VisualScriptSubCall { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptSubCallMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptSubCall { } unsafe impl GodotObject for VisualScriptSubCall { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptSubCall" } } impl std :: ops :: Deref for VisualScriptSubCall { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptSubCall { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptSubCall { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptSubCall { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptSubCall { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptSubCall { } impl Instanciable for VisualScriptSubCall { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptSubCall :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptSubCallMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualScriptSubCallMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptSubCallMethodTable = VisualScriptSubCallMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptSubCallMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptSubCall\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:490:5429
[INFO] [stdout]     |
[INFO] [stdout] 490 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 490 |                 # [doc = "`core class VisualShaderNodeColorFunc` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodecolorfunc.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeColorFunc inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeColorFunc { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Function (pub i64) ; impl Function { pub const GRAYSCALE : Function = Function (0i64) ; pub const SEPIA : Function = Function (1i64) ; } impl From < i64 > for Function { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Function > for i64 { # [inline] fn from (v : Function) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShaderNodeColorFunc { pub const FUNC_GRAYSCALE : i64 = 0i64 ; pub const FUNC_SEPIA : i64 = 1i64 ; } impl VisualShaderNodeColorFunc { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeColorFuncMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "A function to be applied to the input color. See [enum Function] for options."] # [doc = ""] # [inline] pub fn function (& self) -> crate :: generated :: visual_shader_node_color_func :: Function { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeColorFuncMethodTable :: get (get_api ()) . get_function ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_color_func :: Function (ret) } } # [doc = "A function to be applied to the input color. See [enum Function] for options."] # [doc = ""] # [inline] pub fn set_function (& self , func : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeColorFuncMethodTable :: get (get_api ()) . set_function ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , func) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeColorFunc { } unsafe impl GodotObject for VisualShaderNodeColorFunc { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeColorFunc" } } impl std :: ops :: Deref for VisualShaderNodeColorFunc { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeColorFunc { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeColorFunc { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeColorFunc { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeColorFunc { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeColorFunc { } impl Instanciable for VisualShaderNodeColorFunc { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeColorFunc :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeColorFuncMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_function : * mut sys :: godot_method_bind , pub set_function : * mut sys :: godot_method_bind } impl VisualShaderNodeColorFuncMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeColorFuncMethodTable = VisualShaderNodeColorFuncMethodTable { class_constructor : None , get_function : 0 as * mut sys :: godot_method_bind , set_function : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeColorFuncMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeColorFunc\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_function = (gd_api . godot_method_bind_get_method) (class_name , "get_function\0" . as_ptr () as * const c_char) ; table . set_function = (gd_api . godot_method_bind_get_method) (class_name , "set_function\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:496:23671
[INFO] [stdout]     |
[INFO] [stdout] 496 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 # [doc = "`tools class EditorInterface` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorinterface.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nEditorInterface inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorInterface { this : RawObject < Self > , } impl EditorInterface { # [doc = ""] # [doc = ""] # [inline] pub fn edit_node (& self , node : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . edit_node ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Edits the given [Resource]."] # [doc = ""] # [inline] pub fn edit_resource (& self , resource : impl AsArg < crate :: generated :: resource :: Resource >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . edit_resource ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , resource . as_arg_ptr ()) ; } } # [doc = "Returns the main container of Godot editor's window. For example, you can use it to retrieve the size of the container and place your controls accordingly."] # [doc = ""] # [inline] pub fn get_base_control (& self) -> Option < Ref < crate :: generated :: control :: Control , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_base_control ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: control :: Control , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the current path being viewed in the [FileSystemDock]."] # [doc = ""] # [inline] pub fn get_current_path (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_current_path ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the edited (current) scene's root [Node]."] # [doc = ""] # [inline] pub fn get_edited_scene_root (& self) -> Option < Ref < crate :: generated :: node :: Node , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_edited_scene_root ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: node :: Node , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_editor_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_editor_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the editor's [EditorSettings] instance."] # [doc = ""] # [inline] pub fn get_editor_settings (& self) -> Option < Ref < crate :: generated :: editor_settings :: EditorSettings , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_editor_settings ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_settings :: EditorSettings , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the main editor control. Use this as a parent for main screens.\n**Note:** This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically."] # [doc = ""] # [inline] pub fn get_editor_viewport (& self) -> Option < Ref < crate :: generated :: control :: Control , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_editor_viewport ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: control :: Control , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the editor's [FileSystemDock] instance."] # [doc = ""] # [inline] pub fn get_file_system_dock (& self) -> Option < Ref < crate :: generated :: file_system_dock :: FileSystemDock , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_file_system_dock ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: file_system_dock :: FileSystemDock , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the editor's [EditorInspector] instance."] # [doc = ""] # [inline] pub fn get_inspector (& self) -> Option < Ref < crate :: generated :: editor_inspector :: EditorInspector , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_inspector ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_inspector :: EditorInspector , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns an [Array] with the file paths of the currently opened scenes."] # [doc = ""] # [inline] pub fn get_open_scenes (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_open_scenes ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string."] # [doc = ""] # [inline] pub fn get_playing_scene (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_playing_scene ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the editor's [EditorFileSystem] instance."] # [doc = ""] # [inline] pub fn get_resource_filesystem (& self) -> Option < Ref < crate :: generated :: editor_file_system :: EditorFileSystem , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_resource_filesystem ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_file_system :: EditorFileSystem , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the editor's [EditorResourcePreview] instance."] # [doc = ""] # [inline] pub fn get_resource_previewer (& self) -> Option < Ref < crate :: generated :: editor_resource_preview :: EditorResourcePreview , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_resource_previewer ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_resource_preview :: EditorResourcePreview , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the editor's [ScriptEditor] instance."] # [doc = ""] # [inline] pub fn get_script_editor (& self) -> Option < Ref < crate :: generated :: script_editor :: ScriptEditor , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_script_editor ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: script_editor :: ScriptEditor , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the path of the directory currently selected in the [FileSystemDock]. If a file is selected, its base directory will be returned using [method String.get_base_dir] instead."] # [doc = ""] # [inline] pub fn get_selected_path (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_selected_path ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the editor's [EditorSelection] instance."] # [doc = ""] # [inline] pub fn get_selection (& self) -> Option < Ref < crate :: generated :: editor_selection :: EditorSelection , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . get_selection ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_selection :: EditorSelection , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Shows the given property on the given `object` in the editor's Inspector dock.\n# Default Arguments\n* `for_property` - `\"\"`"] # [doc = ""] # [inline] pub fn inspect_object (& self , object : impl AsArg < crate :: generated :: object :: Object > , for_property : impl Into < GodotString > , inspector_only : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . inspect_object ; let ret = crate :: icalls :: icallptr_void_obj_str_bool (method_bind , self . this . sys () . as_ptr () , object . as_arg_ptr () , for_property . into () , inspector_only) ; } } # [doc = "If `true`, enables distraction-free mode which hides side docks to increase the space available for the main view."] # [doc = ""] # [inline] pub fn is_distraction_free_mode_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . is_distraction_free_mode_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if a scene is currently being played, `false` otherwise. Paused scenes are considered as being played."] # [doc = ""] # [inline] pub fn is_playing_scene (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . is_playing_scene ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the specified `plugin` is enabled. The plugin name is the same as its directory name."] # [doc = ""] # [inline] pub fn is_plugin_enabled (& self , plugin : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . is_plugin_enabled ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , plugin . into ()) ; ret as _ } } # [doc = "Returns mesh previews rendered at the given size as an [Array] of [Texture]s."] # [doc = ""] # [inline] pub fn make_mesh_previews (& self , meshes : VariantArray , preview_size : i64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . make_mesh_previews ; let ret = crate :: icalls :: icallvar__arr_i64 (method_bind , self . this . sys () . as_ptr () , meshes , preview_size) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Opens the scene at the given path."] # [doc = ""] # [inline] pub fn open_scene_from_path (& self , scene_filepath : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . open_scene_from_path ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , scene_filepath . into ()) ; } } # [doc = "Plays the currently active scene."] # [doc = ""] # [inline] pub fn play_current_scene (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . play_current_scene ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Plays the scene specified by its filepath."] # [doc = ""] # [inline] pub fn play_custom_scene (& self , scene_filepath : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . play_custom_scene ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , scene_filepath . into ()) ; } } # [doc = "Plays the main scene."] # [doc = ""] # [inline] pub fn play_main_scene (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . play_main_scene ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Reloads the scene at the given path."] # [doc = ""] # [inline] pub fn reload_scene_from_path (& self , scene_filepath : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . reload_scene_from_path ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , scene_filepath . into ()) ; } } # [doc = "Saves the scene. Returns either `OK` or `ERR_CANT_CREATE` (see [@GlobalScope] constants)."] # [doc = ""] # [inline] pub fn save_scene (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . save_scene ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Saves the scene as a file at `path`.\n# Default Arguments\n* `with_preview` - `true`"] # [doc = ""] # [inline] pub fn save_scene_as (& self , path : impl Into < GodotString > , with_preview : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . save_scene_as ; let ret = crate :: icalls :: icallptr_void_str_bool (method_bind , self . this . sys () . as_ptr () , path . into () , with_preview) ; } } # [doc = "Selects the file, with the path provided by `file`, in the FileSystem dock."] # [doc = ""] # [inline] pub fn select_file (& self , file : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . select_file ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , file . into ()) ; } } # [doc = "If `true`, enables distraction-free mode which hides side docks to increase the space available for the main view."] # [doc = ""] # [inline] pub fn set_distraction_free_mode (& self , enter : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . set_distraction_free_mode ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enter) ; } } # [doc = "Sets the editor's current main screen to the one specified in `name`. `name` must match the text of the tab in question exactly (`2D`, `3D`, `Script`, `AssetLib`)."] # [doc = ""] # [inline] pub fn set_main_screen_editor (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . set_main_screen_editor ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "Sets the enabled status of a plugin. The plugin name is the same as its directory name."] # [doc = ""] # [inline] pub fn set_plugin_enabled (& self , plugin : impl Into < GodotString > , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . set_plugin_enabled ; let ret = crate :: icalls :: icallptr_void_str_bool (method_bind , self . this . sys () . as_ptr () , plugin . into () , enabled) ; } } # [doc = "Stops the scene that is currently playing."] # [doc = ""] # [inline] pub fn stop_playing_scene (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorInterfaceMethodTable :: get (get_api ()) . stop_playing_scene ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorInterface { } unsafe impl GodotObject for EditorInterface { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "EditorInterface" } } impl QueueFree for EditorInterface { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for EditorInterface { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorInterface { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for EditorInterface { } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorInterface { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorInterfaceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub edit_node : * mut sys :: godot_method_bind , pub edit_resource : * mut sys :: godot_method_bind , pub get_base_control : * mut sys :: godot_method_bind , pub get_current_path : * mut sys :: godot_method_bind , pub get_edited_scene_root : * mut sys :: godot_method_bind , pub get_editor_scale : * mut sys :: godot_method_bind , pub get_editor_settings : * mut sys :: godot_method_bind , pub get_editor_viewport : * mut sys :: godot_method_bind , pub get_file_system_dock : * mut sys :: godot_method_bind , pub get_inspector : * mut sys :: godot_method_bind , pub get_open_scenes : * mut sys :: godot_method_bind , pub get_playing_scene : * mut sys :: godot_method_bind , pub get_resource_filesystem : * mut sys :: godot_method_bind , pub get_resource_previewer : * mut sys :: godot_method_bind , pub get_script_editor : * mut sys :: godot_method_bind , pub get_selected_path : * mut sys :: godot_method_bind , pub get_selection : * mut sys :: godot_method_bind , pub inspect_object : * mut sys :: godot_method_bind , pub is_distraction_free_mode_enabled : * mut sys :: godot_method_bind , pub is_playing_scene : * mut sys :: godot_method_bind , pub is_plugin_enabled : * mut sys :: godot_method_bind , pub make_mesh_previews : * mut sys :: godot_method_bind , pub open_scene_from_path : * mut sys :: godot_method_bind , pub play_current_scene : * mut sys :: godot_method_bind , pub play_custom_scene : * mut sys :: godot_method_bind , pub play_main_scene : * mut sys :: godot_method_bind , pub reload_scene_from_path : * mut sys :: godot_method_bind , pub save_scene : * mut sys :: godot_method_bind , pub save_scene_as : * mut sys :: godot_method_bind , pub select_file : * mut sys :: godot_method_bind , pub set_distraction_free_mode : * mut sys :: godot_method_bind , pub set_main_screen_editor : * mut sys :: godot_method_bind , pub set_plugin_enabled : * mut sys :: godot_method_bind , pub stop_playing_scene : * mut sys :: godot_method_bind } impl EditorInterfaceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorInterfaceMethodTable = EditorInterfaceMethodTable { class_constructor : None , edit_node : 0 as * mut sys :: godot_method_bind , edit_resource : 0 as * mut sys :: godot_method_bind , get_base_control : 0 as * mut sys :: godot_method_bind , get_current_path : 0 as * mut sys :: godot_method_bind , get_edited_scene_root : 0 as * mut sys :: godot_method_bind , get_editor_scale : 0 as * mut sys :: godot_method_bind , get_editor_settings : 0 as * mut sys :: godot_method_bind , get_editor_viewport : 0 as * mut sys :: godot_method_bind , get_file_system_dock : 0 as * mut sys :: godot_method_bind , get_inspector : 0 as * mut sys :: godot_method_bind , get_open_scenes : 0 as * mut sys :: godot_method_bind , get_playing_scene : 0 as * mut sys :: godot_method_bind , get_resource_filesystem : 0 as * mut sys :: godot_method_bind , get_resource_previewer : 0 as * mut sys :: godot_method_bind , get_script_editor : 0 as * mut sys :: godot_method_bind , get_selected_path : 0 as * mut sys :: godot_method_bind , get_selection : 0 as * mut sys :: godot_method_bind , inspect_object : 0 as * mut sys :: godot_method_bind , is_distraction_free_mode_enabled : 0 as * mut sys :: godot_method_bind , is_playing_scene : 0 as * mut sys :: godot_method_bind , is_plugin_enabled : 0 as * mut sys :: godot_method_bind , make_mesh_previews : 0 as * mut sys :: godot_method_bind , open_scene_from_path : 0 as * mut sys :: godot_method_bind , play_current_scene : 0 as * mut sys :: godot_method_bind , play_custom_scene : 0 as * mut sys :: godot_method_bind , play_main_scene : 0 as * mut sys :: godot_method_bind , reload_scene_from_path : 0 as * mut sys :: godot_method_bind , save_scene : 0 as * mut sys :: godot_method_bind , save_scene_as : 0 as * mut sys :: godot_method_bind , select_file : 0 as * mut sys :: godot_method_bind , set_distraction_free_mode : 0 as * mut sys :: godot_method_bind , set_main_screen_editor : 0 as * mut sys :: godot_method_bind , set_plugin_enabled : 0 as * mut sys :: godot_method_bind , stop_playing_scene : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorInterfaceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorInterface\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . edit_node = (gd_api . godot_method_bind_get_method) (class_name , "edit_node\0" . as_ptr () as * const c_char) ; table . edit_resource = (gd_api . godot_method_bind_get_method) (class_name , "edit_resource\0" . as_ptr () as * const c_char) ; table . get_base_control = (gd_api . godot_method_bind_get_method) (class_name , "get_base_control\0" . as_ptr () as * const c_char) ; table . get_current_path = (gd_api . godot_method_bind_get_method) (class_name , "get_current_path\0" . as_ptr () as * const c_char) ; table . get_edited_scene_root = (gd_api . godot_method_bind_get_method) (class_name , "get_edited_scene_root\0" . as_ptr () as * const c_char) ; table . get_editor_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_editor_scale\0" . as_ptr () as * const c_char) ; table . get_editor_settings = (gd_api . godot_method_bind_get_method) (class_name , "get_editor_settings\0" . as_ptr () as * const c_char) ; table . get_editor_viewport = (gd_api . godot_method_bind_get_method) (class_name , "get_editor_viewport\0" . as_ptr () as * const c_char) ; table . get_file_system_dock = (gd_api . godot_method_bind_get_method) (class_name , "get_file_system_dock\0" . as_ptr () as * const c_char) ; table . get_inspector = (gd_api . godot_method_bind_get_method) (class_name , "get_inspector\0" . as_ptr () as * const c_char) ; table . get_open_scenes = (gd_api . godot_method_bind_get_method) (class_name , "get_open_scenes\0" . as_ptr () as * const c_char) ; table . get_playing_scene = (gd_api . godot_method_bind_get_method) (class_name , "get_playing_scene\0" . as_ptr () as * const c_char) ; table . get_resource_filesystem = (gd_api . godot_method_bind_get_method) (class_name , "get_resource_filesystem\0" . as_ptr () as * const c_char) ; table . get_resource_previewer = (gd_api . godot_method_bind_get_method) (class_name , "get_resource_previewer\0" . as_ptr () as * const c_char) ; table . get_script_editor = (gd_api . godot_method_bind_get_method) (class_name , "get_script_editor\0" . as_ptr () as * const c_char) ; table . get_selected_path = (gd_api . godot_method_bind_get_method) (class_name , "get_selected_path\0" . as_ptr () as * const c_char) ; table . get_selection = (gd_api . godot_method_bind_get_method) (class_name , "get_selection\0" . as_ptr () as * const c_char) ; table . inspect_object = (gd_api . godot_method_bind_get_method) (class_name , "inspect_object\0" . as_ptr () as * const c_char) ; table . is_distraction_free_mode_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_distraction_free_mode_enabled\0" . as_ptr () as * const c_char) ; table . is_playing_scene = (gd_api . godot_method_bind_get_method) (class_name , "is_playing_scene\0" . as_ptr () as * const c_char) ; table . is_plugin_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_plugin_enabled\0" . as_ptr () as * const c_char) ; table . make_mesh_previews = (gd_api . godot_method_bind_get_method) (class_name , "make_mesh_previews\0" . as_ptr () as * const c_char) ; table . open_scene_from_path = (gd_api . godot_method_bind_get_method) (class_name , "open_scene_from_path\0" . as_ptr () as * const c_char) ; table . play_current_scene = (gd_api . godot_method_bind_get_method) (class_name , "play_current_scene\0" . as_ptr () as * const c_char) ; table . play_custom_scene = (gd_api . godot_method_bind_get_method) (class_name , "play_custom_scene\0" . as_ptr () as * const c_char) ; table . play_main_scene = (gd_api . godot_method_bind_get_method) (class_name , "play_main_scene\0" . as_ptr () as * const c_char) ; table . reload_scene_from_path = (gd_api . godot_method_bind_get_method) (class_name , "reload_scene_from_path\0" . as_ptr () as * const c_char) ; table . save_scene = (gd_api . godot_method_bind_get_method) (class_name , "save_scene\0" . as_ptr () as * const c_char) ; table . save_scene_as = (gd_api . godot_method_bind_get_method) (class_name , "save_scene_as\0" . as_ptr () as * const c_char) ; table . select_file = (gd_api . godot_method_bind_get_method) (class_name , "select_file\0" . as_ptr () as * const c_char) ; table . set_distraction_free_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_distraction_free_mode\0" . as_ptr () as * const c_char) ; table . set_main_screen_editor = (gd_api . godot_method_bind_get_method) (class_name , "set_main_screen_editor\0" . as_ptr () as * const c_char) ; table . set_plugin_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_plugin_enabled\0" . as_ptr () as * const c_char) ; table . stop_playing_scene = (gd_api . godot_method_bind_get_method) (class_name , "stop_playing_scene\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:502:11569
[INFO] [stdout]     |
[INFO] [stdout] 502 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 # [doc = "`core class ARVRPositionalTracker` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrpositionaltracker.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`ARVRPositionalTracker` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<ARVRPositionalTracker>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nARVRPositionalTracker inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVRPositionalTracker { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TrackerHand (pub i64) ; impl TrackerHand { pub const HAND_UNKNOWN : TrackerHand = TrackerHand (0i64) ; pub const LEFT_HAND : TrackerHand = TrackerHand (1i64) ; pub const RIGHT_HAND : TrackerHand = TrackerHand (2i64) ; } impl From < i64 > for TrackerHand { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TrackerHand > for i64 { # [inline] fn from (v : TrackerHand) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl ARVRPositionalTracker { pub const TRACKER_HAND_UNKNOWN : i64 = 0i64 ; pub const TRACKER_LEFT_HAND : i64 = 1i64 ; pub const TRACKER_RIGHT_HAND : i64 = 2i64 ; } impl ARVRPositionalTracker { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ARVRPositionalTrackerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns the hand holding this tracker, if known. See [enum TrackerHand] constants."] # [doc = ""] # [inline] pub fn get_hand (& self) -> crate :: generated :: arvr_positional_tracker :: TrackerHand { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_hand ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: arvr_positional_tracker :: TrackerHand (ret) } } # [doc = "If this is a controller that is being tracked, the controller will also be represented by a joystick entry with this ID."] # [doc = ""] # [inline] pub fn get_joy_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_joy_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the mesh related to a controller or anchor point if one is available."] # [doc = ""] # [inline] pub fn get_mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the controller or anchor point's name if available."] # [doc = ""] # [inline] pub fn get_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the controller's orientation matrix."] # [doc = ""] # [inline] pub fn get_orientation (& self) -> Basis { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_orientation ; let ret = crate :: icalls :: icallptr_basis (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the world-space controller position."] # [doc = ""] # [inline] pub fn get_position (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_position ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The degree to which the tracker rumbles. Ranges from `0.0` to `1.0` with precision `.01`."] # [doc = ""] # [inline] pub fn rumble (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_rumble ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the internal tracker ID. This uniquely identifies the tracker per tracker type and matches the ID you need to specify for nodes such as the [ARVRController] and [ARVRAnchor] nodes."] # [doc = ""] # [inline] pub fn get_tracker_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_tracker_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if this device tracks orientation."] # [doc = ""] # [inline] pub fn get_tracks_orientation (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_tracks_orientation ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if this device tracks position."] # [doc = ""] # [inline] pub fn get_tracks_position (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_tracks_position ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the transform combining this device's orientation and position."] # [doc = ""] # [inline] pub fn get_transform (& self , adjust_by_reference_frame : bool) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_transform ; let ret = crate :: icalls :: icallptr_trans_bool (method_bind , self . this . sys () . as_ptr () , adjust_by_reference_frame) ; mem :: transmute (ret) } } # [doc = "Returns the tracker's type."] # [doc = ""] # [inline] pub fn get_type (& self) -> crate :: generated :: arvr_server :: TrackerType { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . get_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: arvr_server :: TrackerType (ret) } } # [doc = "The degree to which the tracker rumbles. Ranges from `0.0` to `1.0` with precision `.01`."] # [doc = ""] # [inline] pub fn set_rumble (& self , rumble : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRPositionalTrackerMethodTable :: get (get_api ()) . set_rumble ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , rumble) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVRPositionalTracker { } unsafe impl GodotObject for ARVRPositionalTracker { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVRPositionalTracker" } } impl std :: ops :: Deref for ARVRPositionalTracker { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVRPositionalTracker { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVRPositionalTracker { } impl Instanciable for ARVRPositionalTracker { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ARVRPositionalTracker :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVRPositionalTrackerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_hand : * mut sys :: godot_method_bind , pub get_joy_id : * mut sys :: godot_method_bind , pub get_mesh : * mut sys :: godot_method_bind , pub get_name : * mut sys :: godot_method_bind , pub get_orientation : * mut sys :: godot_method_bind , pub get_position : * mut sys :: godot_method_bind , pub get_rumble : * mut sys :: godot_method_bind , pub get_tracker_id : * mut sys :: godot_method_bind , pub get_tracks_orientation : * mut sys :: godot_method_bind , pub get_tracks_position : * mut sys :: godot_method_bind , pub get_transform : * mut sys :: godot_method_bind , pub get_type : * mut sys :: godot_method_bind , pub set_rumble : * mut sys :: godot_method_bind } impl ARVRPositionalTrackerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVRPositionalTrackerMethodTable = ARVRPositionalTrackerMethodTable { class_constructor : None , get_hand : 0 as * mut sys :: godot_method_bind , get_joy_id : 0 as * mut sys :: godot_method_bind , get_mesh : 0 as * mut sys :: godot_method_bind , get_name : 0 as * mut sys :: godot_method_bind , get_orientation : 0 as * mut sys :: godot_method_bind , get_position : 0 as * mut sys :: godot_method_bind , get_rumble : 0 as * mut sys :: godot_method_bind , get_tracker_id : 0 as * mut sys :: godot_method_bind , get_tracks_orientation : 0 as * mut sys :: godot_method_bind , get_tracks_position : 0 as * mut sys :: godot_method_bind , get_transform : 0 as * mut sys :: godot_method_bind , get_type : 0 as * mut sys :: godot_method_bind , set_rumble : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVRPositionalTrackerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVRPositionalTracker\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_hand = (gd_api . godot_method_bind_get_method) (class_name , "get_hand\0" . as_ptr () as * const c_char) ; table . get_joy_id = (gd_api . godot_method_bind_get_method) (class_name , "get_joy_id\0" . as_ptr () as * const c_char) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . get_name = (gd_api . godot_method_bind_get_method) (class_name , "get_name\0" . as_ptr () as * const c_char) ; table . get_orientation = (gd_api . godot_method_bind_get_method) (class_name , "get_orientation\0" . as_ptr () as * const c_char) ; table . get_position = (gd_api . godot_method_bind_get_method) (class_name , "get_position\0" . as_ptr () as * const c_char) ; table . get_rumble = (gd_api . godot_method_bind_get_method) (class_name , "get_rumble\0" . as_ptr () as * const c_char) ; table . get_tracker_id = (gd_api . godot_method_bind_get_method) (class_name , "get_tracker_id\0" . as_ptr () as * const c_char) ; table . get_tracks_orientation = (gd_api . godot_method_bind_get_method) (class_name , "get_tracks_orientation\0" . as_ptr () as * const c_char) ; table . get_tracks_position = (gd_api . godot_method_bind_get_method) (class_name , "get_tracks_position\0" . as_ptr () as * const c_char) ; table . get_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_transform\0" . as_ptr () as * const c_char) ; table . get_type = (gd_api . godot_method_bind_get_method) (class_name , "get_type\0" . as_ptr () as * const c_char) ; table . set_rumble = (gd_api . godot_method_bind_get_method) (class_name , "set_rumble\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:508:3889
[INFO] [stdout]     |
[INFO] [stdout] 508 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 508 |                 # [doc = "`core class VisualShaderNodeVectorScalarStep` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodevectorscalarstep.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeVectorScalarStep inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarStep { this : RawObject < Self > , } impl VisualShaderNodeVectorScalarStep { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeVectorScalarStepMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeVectorScalarStep { } unsafe impl GodotObject for VisualShaderNodeVectorScalarStep { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeVectorScalarStep" } } impl std :: ops :: Deref for VisualShaderNodeVectorScalarStep { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeVectorScalarStep { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeVectorScalarStep { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeVectorScalarStep { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeVectorScalarStep { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeVectorScalarStep { } impl Instanciable for VisualShaderNodeVectorScalarStep { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeVectorScalarStep :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeVectorScalarStepMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualShaderNodeVectorScalarStepMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeVectorScalarStepMethodTable = VisualShaderNodeVectorScalarStepMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeVectorScalarStepMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeVectorScalarStep\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:514:13215
[INFO] [stdout]     |
[INFO] [stdout] 514 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 # [doc = "`tools class EditorProperty` inherits `Container` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorproperty.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nEditorProperty inherits methods from:\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorProperty { this : RawObject < Self > , } impl EditorProperty { # [doc = "If any of the controls added can gain keyboard focus, add it here. This ensures that focus will be restored if the inspector is refreshed."] # [doc = ""] # [inline] pub fn add_focusable (& self , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . add_focusable ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , control . as_arg_ptr ()) ; } } # [doc = "If one or several properties have changed, this must be called. `field` is used in case your editor can modify fields separately (as an example, Vector3.x). The `changing` argument avoids the editor requesting this property to be refreshed (leave as `false` if unsure).\n# Default Arguments\n* `field` - `\"\"`\n* `changing` - `false`"] # [doc = ""] # [inline] pub fn emit_changed (& self , property : impl Into < GodotString > , value : impl OwnedToVariant , field : impl Into < GodotString > , changing : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . emit_changed ; let ret = crate :: icalls :: icallptr_void_str_var_str_bool (method_bind , self . this . sys () . as_ptr () , property . into () , value . owned_to_variant () , field . into () , changing) ; } } # [doc = "Gets the edited object."] # [doc = ""] # [inline] pub fn get_edited_object (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . get_edited_object ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Gets the edited property. If your editor is for a single property (added via [method EditorInspectorPlugin.parse_property]), then this will return the property."] # [doc = ""] # [inline] pub fn get_edited_property (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . get_edited_property ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Set this property to change the label (if you want to show one)."] # [doc = ""] # [inline] pub fn label (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . get_label ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Override if you want to allow a custom tooltip over your property."] # [doc = ""] # [inline] pub fn get_tooltip_text (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . get_tooltip_text ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Used by the inspector, set to `true` when the property is checkable."] # [doc = ""] # [inline] pub fn is_checkable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . is_checkable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Used by the inspector, set to `true` when the property is checked."] # [doc = ""] # [inline] pub fn is_checked (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . is_checked ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Used by the inspector, set to `true` when the property must draw with error color. This is used for editable children's properties."] # [doc = ""] # [inline] pub fn is_draw_red (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . is_draw_red ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Used by the inspector, set to `true` when the property can add keys for animation."] # [doc = ""] # [inline] pub fn is_keying (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . is_keying ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Used by the inspector, set to `true` when the property is read-only."] # [doc = ""] # [inline] pub fn is_read_only (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . is_read_only ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Adds controls with this function if you want them on the bottom (below the label)."] # [doc = ""] # [inline] pub fn set_bottom_editor (& self , editor : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . set_bottom_editor ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , editor . as_arg_ptr ()) ; } } # [doc = "Used by the inspector, set to `true` when the property is checkable."] # [doc = ""] # [inline] pub fn set_checkable (& self , checkable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . set_checkable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , checkable) ; } } # [doc = "Used by the inspector, set to `true` when the property is checked."] # [doc = ""] # [inline] pub fn set_checked (& self , checked : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . set_checked ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , checked) ; } } # [doc = "Used by the inspector, set to `true` when the property must draw with error color. This is used for editable children's properties."] # [doc = ""] # [inline] pub fn set_draw_red (& self , draw_red : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . set_draw_red ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , draw_red) ; } } # [doc = "Used by the inspector, set to `true` when the property can add keys for animation."] # [doc = ""] # [inline] pub fn set_keying (& self , keying : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . set_keying ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , keying) ; } } # [doc = "Set this property to change the label (if you want to show one)."] # [doc = ""] # [inline] pub fn set_label (& self , text : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . set_label ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , text . into ()) ; } } # [doc = "Used by the inspector, set to `true` when the property is read-only."] # [doc = ""] # [inline] pub fn set_read_only (& self , read_only : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPropertyMethodTable :: get (get_api ()) . set_read_only ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , read_only) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorProperty { } unsafe impl GodotObject for EditorProperty { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "EditorProperty" } } impl QueueFree for EditorProperty { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for EditorProperty { type Target = crate :: generated :: container :: Container ; # [inline] fn deref (& self) -> & crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorProperty { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: container :: Container > for EditorProperty { } unsafe impl SubClass < crate :: generated :: control :: Control > for EditorProperty { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for EditorProperty { } unsafe impl SubClass < crate :: generated :: node :: Node > for EditorProperty { } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorProperty { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorPropertyMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_focusable : * mut sys :: godot_method_bind , pub emit_changed : * mut sys :: godot_method_bind , pub get_edited_object : * mut sys :: godot_method_bind , pub get_edited_property : * mut sys :: godot_method_bind , pub get_label : * mut sys :: godot_method_bind , pub get_tooltip_text : * mut sys :: godot_method_bind , pub is_checkable : * mut sys :: godot_method_bind , pub is_checked : * mut sys :: godot_method_bind , pub is_draw_red : * mut sys :: godot_method_bind , pub is_keying : * mut sys :: godot_method_bind , pub is_read_only : * mut sys :: godot_method_bind , pub set_bottom_editor : * mut sys :: godot_method_bind , pub set_checkable : * mut sys :: godot_method_bind , pub set_checked : * mut sys :: godot_method_bind , pub set_draw_red : * mut sys :: godot_method_bind , pub set_keying : * mut sys :: godot_method_bind , pub set_label : * mut sys :: godot_method_bind , pub set_read_only : * mut sys :: godot_method_bind } impl EditorPropertyMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorPropertyMethodTable = EditorPropertyMethodTable { class_constructor : None , add_focusable : 0 as * mut sys :: godot_method_bind , emit_changed : 0 as * mut sys :: godot_method_bind , get_edited_object : 0 as * mut sys :: godot_method_bind , get_edited_property : 0 as * mut sys :: godot_method_bind , get_label : 0 as * mut sys :: godot_method_bind , get_tooltip_text : 0 as * mut sys :: godot_method_bind , is_checkable : 0 as * mut sys :: godot_method_bind , is_checked : 0 as * mut sys :: godot_method_bind , is_draw_red : 0 as * mut sys :: godot_method_bind , is_keying : 0 as * mut sys :: godot_method_bind , is_read_only : 0 as * mut sys :: godot_method_bind , set_bottom_editor : 0 as * mut sys :: godot_method_bind , set_checkable : 0 as * mut sys :: godot_method_bind , set_checked : 0 as * mut sys :: godot_method_bind , set_draw_red : 0 as * mut sys :: godot_method_bind , set_keying : 0 as * mut sys :: godot_method_bind , set_label : 0 as * mut sys :: godot_method_bind , set_read_only : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorPropertyMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorProperty\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_focusable = (gd_api . godot_method_bind_get_method) (class_name , "add_focusable\0" . as_ptr () as * const c_char) ; table . emit_changed = (gd_api . godot_method_bind_get_method) (class_name , "emit_changed\0" . as_ptr () as * const c_char) ; table . get_edited_object = (gd_api . godot_method_bind_get_method) (class_name , "get_edited_object\0" . as_ptr () as * const c_char) ; table . get_edited_property = (gd_api . godot_method_bind_get_method) (class_name , "get_edited_property\0" . as_ptr () as * const c_char) ; table . get_label = (gd_api . godot_method_bind_get_method) (class_name , "get_label\0" . as_ptr () as * const c_char) ; table . get_tooltip_text = (gd_api . godot_method_bind_get_method) (class_name , "get_tooltip_text\0" . as_ptr () as * const c_char) ; table . is_checkable = (gd_api . godot_method_bind_get_method) (class_name , "is_checkable\0" . as_ptr () as * const c_char) ; table . is_checked = (gd_api . godot_method_bind_get_method) (class_name , "is_checked\0" . as_ptr () as * const c_char) ; table . is_draw_red = (gd_api . godot_method_bind_get_method) (class_name , "is_draw_red\0" . as_ptr () as * const c_char) ; table . is_keying = (gd_api . godot_method_bind_get_method) (class_name , "is_keying\0" . as_ptr () as * const c_char) ; table . is_read_only = (gd_api . godot_method_bind_get_method) (class_name , "is_read_only\0" . as_ptr () as * const c_char) ; table . set_bottom_editor = (gd_api . godot_method_bind_get_method) (class_name , "set_bottom_editor\0" . as_ptr () as * const c_char) ; table . set_checkable = (gd_api . godot_method_bind_get_method) (class_name , "set_checkable\0" . as_ptr () as * const c_char) ; table . set_checked = (gd_api . godot_method_bind_get_method) (class_name , "set_checked\0" . as_ptr () as * const c_char) ; table . set_draw_red = (gd_api . godot_method_bind_get_method) (class_name , "set_draw_red\0" . as_ptr () as * const c_char) ; table . set_keying = (gd_api . godot_method_bind_get_method) (class_name , "set_keying\0" . as_ptr () as * const c_char) ; table . set_label = (gd_api . godot_method_bind_get_method) (class_name , "set_label\0" . as_ptr () as * const c_char) ; table . set_read_only = (gd_api . godot_method_bind_get_method) (class_name , "set_read_only\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:520:6196
[INFO] [stdout]     |
[INFO] [stdout] 520 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 520 |                 # [doc = "`core class ResourceInteractiveLoader` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_resourceinteractiveloader.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nResourceInteractiveLoader inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ResourceInteractiveLoader { this : RawObject < Self > , } impl ResourceInteractiveLoader { # [doc = "Returns the loaded resource if the load operation completed successfully, `null` otherwise."] # [doc = ""] # [inline] pub fn get_resource (& self) -> Option < Ref < crate :: generated :: resource :: Resource , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ResourceInteractiveLoaderMethodTable :: get (get_api ()) . get_resource ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: resource :: Resource , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the load stage. The total amount of stages can be queried with [method get_stage_count]."] # [doc = ""] # [inline] pub fn get_stage (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ResourceInteractiveLoaderMethodTable :: get (get_api ()) . get_stage ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the total amount of stages (calls to [method poll]) needed to completely load this resource."] # [doc = ""] # [inline] pub fn get_stage_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ResourceInteractiveLoaderMethodTable :: get (get_api ()) . get_stage_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Polls the loading operation, i.e. loads a data chunk up to the next stage.\nReturns [constant OK] if the poll is successful but the load operation has not finished yet (intermediate stage). This means [method poll] will have to be called again until the last stage is completed.\nReturns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource].\nReturns another [enum Error] code if the poll has failed."] # [doc = ""] # [inline] pub fn poll (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = ResourceInteractiveLoaderMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Polls the loading operation successively until the resource is completely loaded or a [method poll] fails.\nReturns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource].\nReturns another [enum Error] code if a poll has failed, aborting the operation."] # [doc = ""] # [inline] pub fn wait (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = ResourceInteractiveLoaderMethodTable :: get (get_api ()) . wait ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } } impl gdnative_core :: private :: godot_object :: Sealed for ResourceInteractiveLoader { } unsafe impl GodotObject for ResourceInteractiveLoader { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "ResourceInteractiveLoader" } } impl std :: ops :: Deref for ResourceInteractiveLoader { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ResourceInteractiveLoader { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for ResourceInteractiveLoader { } unsafe impl SubClass < crate :: generated :: object :: Object > for ResourceInteractiveLoader { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ResourceInteractiveLoaderMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_resource : * mut sys :: godot_method_bind , pub get_stage : * mut sys :: godot_method_bind , pub get_stage_count : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind , pub wait : * mut sys :: godot_method_bind } impl ResourceInteractiveLoaderMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ResourceInteractiveLoaderMethodTable = ResourceInteractiveLoaderMethodTable { class_constructor : None , get_resource : 0 as * mut sys :: godot_method_bind , get_stage : 0 as * mut sys :: godot_method_bind , get_stage_count : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind , wait : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ResourceInteractiveLoaderMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ResourceInteractiveLoader\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_resource = (gd_api . godot_method_bind_get_method) (class_name , "get_resource\0" . as_ptr () as * const c_char) ; table . get_stage = (gd_api . godot_method_bind_get_method) (class_name , "get_stage\0" . as_ptr () as * const c_char) ; table . get_stage_count = (gd_api . godot_method_bind_get_method) (class_name , "get_stage_count\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; table . wait = (gd_api . godot_method_bind_get_method) (class_name , "wait\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:526:60563
[INFO] [stdout]     |
[INFO] [stdout] 526 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 526 |                 # [doc = "`core class TextEdit` inherits `Control` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_textedit.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`TextEdit` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<TextEdit>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nTextEdit inherits methods from:\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct TextEdit { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct MenuItems (pub i64) ; impl MenuItems { pub const CUT : MenuItems = MenuItems (0i64) ; pub const COPY : MenuItems = MenuItems (1i64) ; pub const PASTE : MenuItems = MenuItems (2i64) ; pub const CLEAR : MenuItems = MenuItems (3i64) ; pub const SELECT_ALL : MenuItems = MenuItems (4i64) ; pub const UNDO : MenuItems = MenuItems (5i64) ; pub const REDO : MenuItems = MenuItems (6i64) ; pub const MAX : MenuItems = MenuItems (7i64) ; } impl From < i64 > for MenuItems { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < MenuItems > for i64 { # [inline] fn from (v : MenuItems) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct SearchFlags (pub i64) ; impl SearchFlags { pub const MATCH_CASE : SearchFlags = SearchFlags (1i64) ; pub const WHOLE_WORDS : SearchFlags = SearchFlags (2i64) ; pub const BACKWARDS : SearchFlags = SearchFlags (4i64) ; } impl From < i64 > for SearchFlags { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < SearchFlags > for i64 { # [inline] fn from (v : SearchFlags) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct SearchResult (pub i64) ; impl SearchResult { pub const COLUMN : SearchResult = SearchResult (0i64) ; pub const LINE : SearchResult = SearchResult (1i64) ; } impl From < i64 > for SearchResult { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < SearchResult > for i64 { # [inline] fn from (v : SearchResult) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl TextEdit { pub const MENU_CLEAR : i64 = 3i64 ; pub const MENU_COPY : i64 = 1i64 ; pub const MENU_CUT : i64 = 0i64 ; pub const MENU_MAX : i64 = 7i64 ; pub const MENU_PASTE : i64 = 2i64 ; pub const MENU_REDO : i64 = 6i64 ; pub const MENU_SELECT_ALL : i64 = 4i64 ; pub const MENU_UNDO : i64 = 5i64 ; pub const SEARCH_BACKWARDS : i64 = 4i64 ; pub const SEARCH_MATCH_CASE : i64 = 1i64 ; pub const SEARCH_RESULT_COLUMN : i64 = 0i64 ; pub const SEARCH_RESULT_LINE : i64 = 1i64 ; pub const SEARCH_WHOLE_WORDS : i64 = 2i64 ; } impl TextEdit { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = TextEditMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds color region (given the delimiters) and its colors.\n# Default Arguments\n* `line_only` - `false`"] # [doc = ""] # [inline] pub fn add_color_region (& self , begin_key : impl Into < GodotString > , end_key : impl Into < GodotString > , color : Color , line_only : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . add_color_region ; let ret = crate :: icalls :: icallptr_void_str_str_color_bool (method_bind , self . this . sys () . as_ptr () , begin_key . into () , end_key . into () , color , line_only) ; } } # [doc = "Adds a `keyword` and its [Color]."] # [doc = ""] # [inline] pub fn add_keyword_color (& self , keyword : impl Into < GodotString > , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . add_keyword_color ; let ret = crate :: icalls :: icallptr_void_str_color (method_bind , self . this . sys () . as_ptr () , keyword . into () , color) ; } } # [doc = "Returns if the given line is foldable, that is, it has indented lines right below it."] # [doc = ""] # [inline] pub fn can_fold (& self , line : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . can_fold ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , line) ; ret as _ } } # [doc = "Centers the viewport on the line the editing cursor is at. This also resets the [member scroll_horizontal] value to `0`."] # [doc = ""] # [inline] pub fn center_viewport_to_cursor (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . center_viewport_to_cursor ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Clears all custom syntax coloring information previously added with [method add_color_region] or [method add_keyword_color]."] # [doc = ""] # [inline] pub fn clear_colors (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . clear_colors ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Clears the undo history."] # [doc = ""] # [inline] pub fn clear_undo_history (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . clear_undo_history ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Copy's the current text selection."] # [doc = ""] # [inline] pub fn copy (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . copy ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, the caret (visual cursor) blinks."] # [doc = ""] # [inline] pub fn cursor_get_blink_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_get_blink_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Duration (in seconds) of a caret's blinking cycle."] # [doc = ""] # [inline] pub fn cursor_get_blink_speed (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_get_blink_speed ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the column the editing cursor is at."] # [doc = ""] # [inline] pub fn cursor_get_column (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_get_column ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the line the editing cursor is at."] # [doc = ""] # [inline] pub fn cursor_get_line (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_get_line ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the caret displays as a rectangle.\nIf `false`, the caret displays as a bar."] # [doc = ""] # [inline] pub fn cursor_is_block_mode (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_is_block_mode ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the caret (visual cursor) blinks."] # [doc = ""] # [inline] pub fn cursor_set_blink_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_set_blink_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Duration (in seconds) of a caret's blinking cycle."] # [doc = ""] # [inline] pub fn cursor_set_blink_speed (& self , blink_speed : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_set_blink_speed ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , blink_speed) ; } } # [doc = "If `true`, the caret displays as a rectangle.\nIf `false`, the caret displays as a bar."] # [doc = ""] # [inline] pub fn cursor_set_block_mode (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_set_block_mode ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Moves the cursor at the specified `column` index.\nIf `adjust_viewport` is set to `true`, the viewport will center at the cursor position after the move occurs.\n# Default Arguments\n* `adjust_viewport` - `true`"] # [doc = ""] # [inline] pub fn cursor_set_column (& self , column : i64 , adjust_viewport : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_set_column ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , column , adjust_viewport) ; } } # [doc = "Moves the cursor at the specified `line` index.\nIf `adjust_viewport` is set to `true`, the viewport will center at the cursor position after the move occurs.\nIf `can_be_hidden` is set to `true`, the specified `line` can be hidden using [method set_line_as_hidden].\n# Default Arguments\n* `adjust_viewport` - `true`\n* `can_be_hidden` - `true`\n* `wrap_index` - `0`"] # [doc = ""] # [inline] pub fn cursor_set_line (& self , line : i64 , adjust_viewport : bool , can_be_hidden : bool , wrap_index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cursor_set_line ; let ret = crate :: icalls :: icallptr_void_i64_bool_bool_i64 (method_bind , self . this . sys () . as_ptr () , line , adjust_viewport , can_be_hidden , wrap_index) ; } } # [doc = "Cut's the current selection."] # [doc = ""] # [inline] pub fn cut (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . cut ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Deselects the current selection."] # [doc = ""] # [inline] pub fn deselect (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . deselect ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, a minimap is shown, providing an outline of your source code."] # [doc = ""] # [inline] pub fn draw_minimap (& self , draw : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . draw_minimap ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , draw) ; } } # [doc = "Folds all lines that are possible to be folded (see [method can_fold])."] # [doc = ""] # [inline] pub fn fold_all_lines (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . fold_all_lines ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Folds the given line, if possible (see [method can_fold])."] # [doc = ""] # [inline] pub fn fold_line (& self , line : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . fold_line ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , line) ; } } # [doc = "Returns an array containing the line number of each breakpoint."] # [doc = ""] # [inline] pub fn get_breakpoints (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_breakpoints ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The current horizontal scroll value."] # [doc = ""] # [inline] pub fn h_scroll (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_h_scroll ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the [Color] of the specified `keyword`."] # [doc = ""] # [inline] pub fn get_keyword_color (& self , keyword : impl Into < GodotString >) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_keyword_color ; let ret = crate :: icalls :: icallptr_color_str (method_bind , self . this . sys () . as_ptr () , keyword . into ()) ; mem :: transmute (ret) } } # [doc = "Returns the text of a specific line."] # [doc = ""] # [inline] pub fn get_line (& self , line : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_line ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , line) ; GodotString :: from_sys (ret) } } # [doc = "Returns the amount of total lines in the text."] # [doc = ""] # [inline] pub fn get_line_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_line_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the [PopupMenu] of this [TextEdit]. By default, this menu is displayed when right-clicking on the [TextEdit]."] # [doc = ""] # [inline] pub fn get_menu (& self) -> Option < Ref < crate :: generated :: popup_menu :: PopupMenu , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_menu ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: popup_menu :: PopupMenu , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The width, in pixels, of the minimap."] # [doc = ""] # [inline] pub fn minimap_width (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_minimap_width ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the selection begin column."] # [doc = ""] # [inline] pub fn get_selection_from_column (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_selection_from_column ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the selection begin line."] # [doc = ""] # [inline] pub fn get_selection_from_line (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_selection_from_line ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the text inside the selection."] # [doc = ""] # [inline] pub fn get_selection_text (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_selection_text ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the selection end column."] # [doc = ""] # [inline] pub fn get_selection_to_column (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_selection_to_column ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the selection end line."] # [doc = ""] # [inline] pub fn get_selection_to_line (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_selection_to_line ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "String value of the [TextEdit]."] # [doc = ""] # [inline] pub fn text (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_text ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "The current vertical scroll value."] # [doc = ""] # [inline] pub fn v_scroll (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_v_scroll ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Vertical scroll sensitivity."] # [doc = ""] # [inline] pub fn v_scroll_speed (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_v_scroll_speed ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a [String] text with the word under the mouse cursor location."] # [doc = ""] # [inline] pub fn get_word_under_cursor (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . get_word_under_cursor ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns whether the specified `keyword` has a color set to it or not."] # [doc = ""] # [inline] pub fn has_keyword_color (& self , keyword : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . has_keyword_color ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , keyword . into ()) ; ret as _ } } # [doc = "Insert the specified text at the cursor position."] # [doc = ""] # [inline] pub fn insert_text_at_cursor (& self , text : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . insert_text_at_cursor ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , text . into ()) ; } } # [doc = "If `true`, the breakpoint gutter is visible."] # [doc = ""] # [inline] pub fn is_breakpoint_gutter_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_breakpoint_gutter_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, a right-click displays the context menu."] # [doc = ""] # [inline] pub fn is_context_menu_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_context_menu_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the fold gutter is visible. This enables folding groups of indented lines."] # [doc = ""] # [inline] pub fn is_drawing_fold_gutter (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_drawing_fold_gutter ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, a minimap is shown, providing an outline of your source code."] # [doc = ""] # [inline] pub fn is_drawing_minimap (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_drawing_minimap ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the \"space\" character will have a visible representation."] # [doc = ""] # [inline] pub fn is_drawing_spaces (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_drawing_spaces ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the \"tab\" character will have a visible representation."] # [doc = ""] # [inline] pub fn is_drawing_tabs (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_drawing_tabs ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns whether the line at the specified index is folded or not."] # [doc = ""] # [inline] pub fn is_folded (& self , line : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_folded ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , line) ; ret as _ } } # [doc = "If `true`, all lines that have been set to hidden by [method set_line_as_hidden], will not be visible."] # [doc = ""] # [inline] pub fn is_hiding_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_hiding_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, all occurrences of the selected text will be highlighted."] # [doc = ""] # [inline] pub fn is_highlight_all_occurrences_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_highlight_all_occurrences_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the line containing the cursor is highlighted."] # [doc = ""] # [inline] pub fn is_highlight_current_line_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_highlight_current_line_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns whether the line at the specified index is hidden or not."] # [doc = ""] # [inline] pub fn is_line_hidden (& self , line : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_line_hidden ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , line) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_line_set_as_bookmark (& self , line : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_line_set_as_bookmark ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , line) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_line_set_as_breakpoint (& self , line : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_line_set_as_breakpoint ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , line) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_line_set_as_safe (& self , line : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_line_set_as_safe ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , line) ; ret as _ } } # [doc = "If `true`, custom `font_color_selected` will be used for selected text."] # [doc = ""] # [inline] pub fn is_overriding_selected_font_color (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_overriding_selected_font_color ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, read-only mode is enabled. Existing text cannot be modified and new text cannot be added."] # [doc = ""] # [inline] pub fn is_readonly (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_readonly ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, a right-click moves the cursor at the mouse position before displaying the context menu.\nIf `false`, the context menu disregards mouse location."] # [doc = ""] # [inline] pub fn is_right_click_moving_caret (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_right_click_moving_caret ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, text can be selected.\nIf `false`, text can not be selected by the user or by the [method select] or [method select_all] methods."] # [doc = ""] # [inline] pub fn is_selecting_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_selecting_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the selection is active."] # [doc = ""] # [inline] pub fn is_selection_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_selection_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, shortcut keys for context menu items are enabled, even if the context menu is disabled."] # [doc = ""] # [inline] pub fn is_shortcut_keys_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_shortcut_keys_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, line numbers are displayed to the left of the text."] # [doc = ""] # [inline] pub fn is_show_line_numbers_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_show_line_numbers_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, sets the `step` of the scrollbars to `0.25` which results in smoother scrolling."] # [doc = ""] # [inline] pub fn is_smooth_scroll_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_smooth_scroll_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, any custom color properties that have been set for this [TextEdit] will be visible."] # [doc = ""] # [inline] pub fn is_syntax_coloring_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_syntax_coloring_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the native virtual keyboard is shown when focused on platforms that support it."] # [doc = ""] # [inline] pub fn is_virtual_keyboard_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_virtual_keyboard_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, enables text wrapping when it goes beyond the edge of what is visible."] # [doc = ""] # [inline] pub fn is_wrap_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . is_wrap_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Triggers a right-click menu action by the specified index. See [enum MenuItems] for a list of available indexes."] # [doc = ""] # [inline] pub fn menu_option (& self , option : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . menu_option ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , option) ; } } # [doc = "Paste the current selection."] # [doc = ""] # [inline] pub fn paste (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . paste ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Perform redo operation."] # [doc = ""] # [inline] pub fn redo (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . redo ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Removes all the breakpoints. This will not fire the [signal breakpoint_toggled] signal."] # [doc = ""] # [inline] pub fn remove_breakpoints (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . remove_breakpoints ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nPerform a search inside the text. Search flags can be specified in the [enum SearchFlags] enum.\nReturns an empty `PoolIntArray` if no result was found. Otherwise, the result line and column can be accessed at indices specified in the [enum SearchResult] enum, e.g:\n```gdscript\nvar result = search(key, flags, line, column)\nif result.size() > 0:\n    # Result found.\n    var res_line = result[TextEdit.SEARCH_RESULT_LINE]\n    var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]\n```"] # [doc = ""] # [inline] pub fn search (& self , key : impl Into < GodotString > , flags : i64 , from_line : i64 , from_column : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . search ; let ret = crate :: icalls :: icallptr_i32arr_str_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , key . into () , flags , from_line , from_column) ; Int32Array :: from_sys (ret) } } # [doc = "Perform selection, from line/column to line/column.\nIf [member selecting_enabled] is `false`, no selection will occur."] # [doc = ""] # [inline] pub fn select (& self , from_line : i64 , from_column : i64 , to_line : i64 , to_column : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . select ; let ret = crate :: icalls :: icallptr_void_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , from_line , from_column , to_line , to_column) ; } } # [doc = "Select all the text.\nIf [member selecting_enabled] is `false`, no selection will occur."] # [doc = ""] # [inline] pub fn select_all (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . select_all ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, the breakpoint gutter is visible."] # [doc = ""] # [inline] pub fn set_breakpoint_gutter_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_breakpoint_gutter_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, a right-click displays the context menu."] # [doc = ""] # [inline] pub fn set_context_menu_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_context_menu_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, the fold gutter is visible. This enables folding groups of indented lines."] # [doc = ""] # [inline] pub fn set_draw_fold_gutter (& self , arg0 : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_draw_fold_gutter ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , arg0) ; } } # [doc = "If `true`, the \"space\" character will have a visible representation."] # [doc = ""] # [inline] pub fn set_draw_spaces (& self , arg0 : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_draw_spaces ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , arg0) ; } } # [doc = "If `true`, the \"tab\" character will have a visible representation."] # [doc = ""] # [inline] pub fn set_draw_tabs (& self , arg0 : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_draw_tabs ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , arg0) ; } } # [doc = "The current horizontal scroll value."] # [doc = ""] # [inline] pub fn set_h_scroll (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_h_scroll ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "If `true`, all lines that have been set to hidden by [method set_line_as_hidden], will not be visible."] # [doc = ""] # [inline] pub fn set_hiding_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_hiding_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, all occurrences of the selected text will be highlighted."] # [doc = ""] # [inline] pub fn set_highlight_all_occurrences (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_highlight_all_occurrences ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, the line containing the cursor is highlighted."] # [doc = ""] # [inline] pub fn set_highlight_current_line (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_highlight_current_line ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "Sets the text for a specific line."] # [doc = ""] # [inline] pub fn set_line (& self , line : i64 , new_text : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_line ; let ret = crate :: icalls :: icallptr_void_i64_str (method_bind , self . this . sys () . as_ptr () , line , new_text . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_line_as_bookmark (& self , line : i64 , bookmark : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_line_as_bookmark ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , line , bookmark) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_line_as_breakpoint (& self , line : i64 , breakpoint : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_line_as_breakpoint ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , line , breakpoint) ; } } # [doc = "If `true`, hides the line of the specified index."] # [doc = ""] # [inline] pub fn set_line_as_hidden (& self , line : i64 , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_line_as_hidden ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , line , enable) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_line_as_safe (& self , line : i64 , safe : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_line_as_safe ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , line , safe) ; } } # [doc = "The width, in pixels, of the minimap."] # [doc = ""] # [inline] pub fn set_minimap_width (& self , width : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_minimap_width ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , width) ; } } # [doc = "If `true`, custom `font_color_selected` will be used for selected text."] # [doc = ""] # [inline] pub fn set_override_selected_font_color (& self , _override : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_override_selected_font_color ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , _override) ; } } # [doc = "If `true`, read-only mode is enabled. Existing text cannot be modified and new text cannot be added."] # [doc = ""] # [inline] pub fn set_readonly (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_readonly ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, a right-click moves the cursor at the mouse position before displaying the context menu.\nIf `false`, the context menu disregards mouse location."] # [doc = ""] # [inline] pub fn set_right_click_moves_caret (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_right_click_moves_caret ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, text can be selected.\nIf `false`, text can not be selected by the user or by the [method select] or [method select_all] methods."] # [doc = ""] # [inline] pub fn set_selecting_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_selecting_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, shortcut keys for context menu items are enabled, even if the context menu is disabled."] # [doc = ""] # [inline] pub fn set_shortcut_keys_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_shortcut_keys_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, line numbers are displayed to the left of the text."] # [doc = ""] # [inline] pub fn set_show_line_numbers (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_show_line_numbers ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, sets the `step` of the scrollbars to `0.25` which results in smoother scrolling."] # [doc = ""] # [inline] pub fn set_smooth_scroll_enable (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_smooth_scroll_enable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, any custom color properties that have been set for this [TextEdit] will be visible."] # [doc = ""] # [inline] pub fn set_syntax_coloring (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_syntax_coloring ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "String value of the [TextEdit]."] # [doc = ""] # [inline] pub fn set_text (& self , text : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_text ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , text . into ()) ; } } # [doc = "The current vertical scroll value."] # [doc = ""] # [inline] pub fn set_v_scroll (& self , value : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_v_scroll ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Vertical scroll sensitivity."] # [doc = ""] # [inline] pub fn set_v_scroll_speed (& self , speed : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_v_scroll_speed ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , speed) ; } } # [doc = "If `true`, the native virtual keyboard is shown when focused on platforms that support it."] # [doc = ""] # [inline] pub fn set_virtual_keyboard_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_virtual_keyboard_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, enables text wrapping when it goes beyond the edge of what is visible."] # [doc = ""] # [inline] pub fn set_wrap_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . set_wrap_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Toggle the folding of the code block at the given line."] # [doc = ""] # [inline] pub fn toggle_fold_line (& self , line : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . toggle_fold_line ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , line) ; } } # [doc = "Perform undo operation."] # [doc = ""] # [inline] pub fn undo (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . undo ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Unfolds the given line, if folded."] # [doc = ""] # [inline] pub fn unfold_line (& self , line : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . unfold_line ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , line) ; } } # [doc = "Unhide all lines that were previously set to hidden by [method set_line_as_hidden]."] # [doc = ""] # [inline] pub fn unhide_all_lines (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = TextEditMethodTable :: get (get_api ()) . unhide_all_lines ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for TextEdit { } unsafe impl GodotObject for TextEdit { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "TextEdit" } } impl QueueFree for TextEdit { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for TextEdit { type Target = crate :: generated :: control :: Control ; # [inline] fn deref (& self) -> & crate :: generated :: control :: Control { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for TextEdit { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: control :: Control { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: control :: Control > for TextEdit { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for TextEdit { } unsafe impl SubClass < crate :: generated :: node :: Node > for TextEdit { } unsafe impl SubClass < crate :: generated :: object :: Object > for TextEdit { } impl Instanciable for TextEdit { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { TextEdit :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct TextEditMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_color_region : * mut sys :: godot_method_bind , pub add_keyword_color : * mut sys :: godot_method_bind , pub can_fold : * mut sys :: godot_method_bind , pub center_viewport_to_cursor : * mut sys :: godot_method_bind , pub clear_colors : * mut sys :: godot_method_bind , pub clear_undo_history : * mut sys :: godot_method_bind , pub copy : * mut sys :: godot_method_bind , pub cursor_get_blink_enabled : * mut sys :: godot_method_bind , pub cursor_get_blink_speed : * mut sys :: godot_method_bind , pub cursor_get_column : * mut sys :: godot_method_bind , pub cursor_get_line : * mut sys :: godot_method_bind , pub cursor_is_block_mode : * mut sys :: godot_method_bind , pub cursor_set_blink_enabled : * mut sys :: godot_method_bind , pub cursor_set_blink_speed : * mut sys :: godot_method_bind , pub cursor_set_block_mode : * mut sys :: godot_method_bind , pub cursor_set_column : * mut sys :: godot_method_bind , pub cursor_set_line : * mut sys :: godot_method_bind , pub cut : * mut sys :: godot_method_bind , pub deselect : * mut sys :: godot_method_bind , pub draw_minimap : * mut sys :: godot_method_bind , pub fold_all_lines : * mut sys :: godot_method_bind , pub fold_line : * mut sys :: godot_method_bind , pub get_breakpoints : * mut sys :: godot_method_bind , pub get_h_scroll : * mut sys :: godot_method_bind , pub get_keyword_color : * mut sys :: godot_method_bind , pub get_line : * mut sys :: godot_method_bind , pub get_line_count : * mut sys :: godot_method_bind , pub get_menu : * mut sys :: godot_method_bind , pub get_minimap_width : * mut sys :: godot_method_bind , pub get_selection_from_column : * mut sys :: godot_method_bind , pub get_selection_from_line : * mut sys :: godot_method_bind , pub get_selection_text : * mut sys :: godot_method_bind , pub get_selection_to_column : * mut sys :: godot_method_bind , pub get_selection_to_line : * mut sys :: godot_method_bind , pub get_text : * mut sys :: godot_method_bind , pub get_v_scroll : * mut sys :: godot_method_bind , pub get_v_scroll_speed : * mut sys :: godot_method_bind , pub get_word_under_cursor : * mut sys :: godot_method_bind , pub has_keyword_color : * mut sys :: godot_method_bind , pub insert_text_at_cursor : * mut sys :: godot_method_bind , pub is_breakpoint_gutter_enabled : * mut sys :: godot_method_bind , pub is_context_menu_enabled : * mut sys :: godot_method_bind , pub is_drawing_fold_gutter : * mut sys :: godot_method_bind , pub is_drawing_minimap : * mut sys :: godot_method_bind , pub is_drawing_spaces : * mut sys :: godot_method_bind , pub is_drawing_tabs : * mut sys :: godot_method_bind , pub is_folded : * mut sys :: godot_method_bind , pub is_hiding_enabled : * mut sys :: godot_method_bind , pub is_highlight_all_occurrences_enabled : * mut sys :: godot_method_bind , pub is_highlight_current_line_enabled : * mut sys :: godot_method_bind , pub is_line_hidden : * mut sys :: godot_method_bind , pub is_line_set_as_bookmark : * mut sys :: godot_method_bind , pub is_line_set_as_breakpoint : * mut sys :: godot_method_bind , pub is_line_set_as_safe : * mut sys :: godot_method_bind , pub is_overriding_selected_font_color : * mut sys :: godot_method_bind , pub is_readonly : * mut sys :: godot_method_bind , pub is_right_click_moving_caret : * mut sys :: godot_method_bind , pub is_selecting_enabled : * mut sys :: godot_method_bind , pub is_selection_active : * mut sys :: godot_method_bind , pub is_shortcut_keys_enabled : * mut sys :: godot_method_bind , pub is_show_line_numbers_enabled : * mut sys :: godot_method_bind , pub is_smooth_scroll_enabled : * mut sys :: godot_method_bind , pub is_syntax_coloring_enabled : * mut sys :: godot_method_bind , pub is_virtual_keyboard_enabled : * mut sys :: godot_method_bind , pub is_wrap_enabled : * mut sys :: godot_method_bind , pub menu_option : * mut sys :: godot_method_bind , pub paste : * mut sys :: godot_method_bind , pub redo : * mut sys :: godot_method_bind , pub remove_breakpoints : * mut sys :: godot_method_bind , pub search : * mut sys :: godot_method_bind , pub select : * mut sys :: godot_method_bind , pub select_all : * mut sys :: godot_method_bind , pub set_breakpoint_gutter_enabled : * mut sys :: godot_method_bind , pub set_context_menu_enabled : * mut sys :: godot_method_bind , pub set_draw_fold_gutter : * mut sys :: godot_method_bind , pub set_draw_spaces : * mut sys :: godot_method_bind , pub set_draw_tabs : * mut sys :: godot_method_bind , pub set_h_scroll : * mut sys :: godot_method_bind , pub set_hiding_enabled : * mut sys :: godot_method_bind , pub set_highlight_all_occurrences : * mut sys :: godot_method_bind , pub set_highlight_current_line : * mut sys :: godot_method_bind , pub set_line : * mut sys :: godot_method_bind , pub set_line_as_bookmark : * mut sys :: godot_method_bind , pub set_line_as_breakpoint : * mut sys :: godot_method_bind , pub set_line_as_hidden : * mut sys :: godot_method_bind , pub set_line_as_safe : * mut sys :: godot_method_bind , pub set_minimap_width : * mut sys :: godot_method_bind , pub set_override_selected_font_color : * mut sys :: godot_method_bind , pub set_readonly : * mut sys :: godot_method_bind , pub set_right_click_moves_caret : * mut sys :: godot_method_bind , pub set_selecting_enabled : * mut sys :: godot_method_bind , pub set_shortcut_keys_enabled : * mut sys :: godot_method_bind , pub set_show_line_numbers : * mut sys :: godot_method_bind , pub set_smooth_scroll_enable : * mut sys :: godot_method_bind , pub set_syntax_coloring : * mut sys :: godot_method_bind , pub set_text : * mut sys :: godot_method_bind , pub set_v_scroll : * mut sys :: godot_method_bind , pub set_v_scroll_speed : * mut sys :: godot_method_bind , pub set_virtual_keyboard_enabled : * mut sys :: godot_method_bind , pub set_wrap_enabled : * mut sys :: godot_method_bind , pub toggle_fold_line : * mut sys :: godot_method_bind , pub undo : * mut sys :: godot_method_bind , pub unfold_line : * mut sys :: godot_method_bind , pub unhide_all_lines : * mut sys :: godot_method_bind } impl TextEditMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : TextEditMethodTable = TextEditMethodTable { class_constructor : None , add_color_region : 0 as * mut sys :: godot_method_bind , add_keyword_color : 0 as * mut sys :: godot_method_bind , can_fold : 0 as * mut sys :: godot_method_bind , center_viewport_to_cursor : 0 as * mut sys :: godot_method_bind , clear_colors : 0 as * mut sys :: godot_method_bind , clear_undo_history : 0 as * mut sys :: godot_method_bind , copy : 0 as * mut sys :: godot_method_bind , cursor_get_blink_enabled : 0 as * mut sys :: godot_method_bind , cursor_get_blink_speed : 0 as * mut sys :: godot_method_bind , cursor_get_column : 0 as * mut sys :: godot_method_bind , cursor_get_line : 0 as * mut sys :: godot_method_bind , cursor_is_block_mode : 0 as * mut sys :: godot_method_bind , cursor_set_blink_enabled : 0 as * mut sys :: godot_method_bind , cursor_set_blink_speed : 0 as * mut sys :: godot_method_bind , cursor_set_block_mode : 0 as * mut sys :: godot_method_bind , cursor_set_column : 0 as * mut sys :: godot_method_bind , cursor_set_line : 0 as * mut sys :: godot_method_bind , cut : 0 as * mut sys :: godot_method_bind , deselect : 0 as * mut sys :: godot_method_bind , draw_minimap : 0 as * mut sys :: godot_method_bind , fold_all_lines : 0 as * mut sys :: godot_method_bind , fold_line : 0 as * mut sys :: godot_method_bind , get_breakpoints : 0 as * mut sys :: godot_method_bind , get_h_scroll : 0 as * mut sys :: godot_method_bind , get_keyword_color : 0 as * mut sys :: godot_method_bind , get_line : 0 as * mut sys :: godot_method_bind , get_line_count : 0 as * mut sys :: godot_method_bind , get_menu : 0 as * mut sys :: godot_method_bind , get_minimap_width : 0 as * mut sys :: godot_method_bind , get_selection_from_column : 0 as * mut sys :: godot_method_bind , get_selection_from_line : 0 as * mut sys :: godot_method_bind , get_selection_text : 0 as * mut sys :: godot_method_bind , get_selection_to_column : 0 as * mut sys :: godot_method_bind , get_selection_to_line : 0 as * mut sys :: godot_method_bind , get_text : 0 as * mut sys :: godot_method_bind , get_v_scroll : 0 as * mut sys :: godot_method_bind , get_v_scroll_speed : 0 as * mut sys :: godot_method_bind , get_word_under_cursor : 0 as * mut sys :: godot_method_bind , has_keyword_color : 0 as * mut sys :: godot_method_bind , insert_text_at_cursor : 0 as * mut sys :: godot_method_bind , is_breakpoint_gutter_enabled : 0 as * mut sys :: godot_method_bind , is_context_menu_enabled : 0 as * mut sys :: godot_method_bind , is_drawing_fold_gutter : 0 as * mut sys :: godot_method_bind , is_drawing_minimap : 0 as * mut sys :: godot_method_bind , is_drawing_spaces : 0 as * mut sys :: godot_method_bind , is_drawing_tabs : 0 as * mut sys :: godot_method_bind , is_folded : 0 as * mut sys :: godot_method_bind , is_hiding_enabled : 0 as * mut sys :: godot_method_bind , is_highlight_all_occurrences_enabled : 0 as * mut sys :: godot_method_bind , is_highlight_current_line_enabled : 0 as * mut sys :: godot_method_bind , is_line_hidden : 0 as * mut sys :: godot_method_bind , is_line_set_as_bookmark : 0 as * mut sys :: godot_method_bind , is_line_set_as_breakpoint : 0 as * mut sys :: godot_method_bind , is_line_set_as_safe : 0 as * mut sys :: godot_method_bind , is_overriding_selected_font_color : 0 as * mut sys :: godot_method_bind , is_readonly : 0 as * mut sys :: godot_method_bind , is_right_click_moving_caret : 0 as * mut sys :: godot_method_bind , is_selecting_enabled : 0 as * mut sys :: godot_method_bind , is_selection_active : 0 as * mut sys :: godot_method_bind , is_shortcut_keys_enabled : 0 as * mut sys :: godot_method_bind , is_show_line_numbers_enabled : 0 as * mut sys :: godot_method_bind , is_smooth_scroll_enabled : 0 as * mut sys :: godot_method_bind , is_syntax_coloring_enabled : 0 as * mut sys :: godot_method_bind , is_virtual_keyboard_enabled : 0 as * mut sys :: godot_method_bind , is_wrap_enabled : 0 as * mut sys :: godot_method_bind , menu_option : 0 as * mut sys :: godot_method_bind , paste : 0 as * mut sys :: godot_method_bind , redo : 0 as * mut sys :: godot_method_bind , remove_breakpoints : 0 as * mut sys :: godot_method_bind , search : 0 as * mut sys :: godot_method_bind , select : 0 as * mut sys :: godot_method_bind , select_all : 0 as * mut sys :: godot_method_bind , set_breakpoint_gutter_enabled : 0 as * mut sys :: godot_method_bind , set_context_menu_enabled : 0 as * mut sys :: godot_method_bind , set_draw_fold_gutter : 0 as * mut sys :: godot_method_bind , set_draw_spaces : 0 as * mut sys :: godot_method_bind , set_draw_tabs : 0 as * mut sys :: godot_method_bind , set_h_scroll : 0 as * mut sys :: godot_method_bind , set_hiding_enabled : 0 as * mut sys :: godot_method_bind , set_highlight_all_occurrences : 0 as * mut sys :: godot_method_bind , set_highlight_current_line : 0 as * mut sys :: godot_method_bind , set_line : 0 as * mut sys :: godot_method_bind , set_line_as_bookmark : 0 as * mut sys :: godot_method_bind , set_line_as_breakpoint : 0 as * mut sys :: godot_method_bind , set_line_as_hidden : 0 as * mut sys :: godot_method_bind , set_line_as_safe : 0 as * mut sys :: godot_method_bind , set_minimap_width : 0 as * mut sys :: godot_method_bind , set_override_selected_font_color : 0 as * mut sys :: godot_method_bind , set_readonly : 0 as * mut sys :: godot_method_bind , set_right_click_moves_caret : 0 as * mut sys :: godot_method_bind , set_selecting_enabled : 0 as * mut sys :: godot_method_bind , set_shortcut_keys_enabled : 0 as * mut sys :: godot_method_bind , set_show_line_numbers : 0 as * mut sys :: godot_method_bind , set_smooth_scroll_enable : 0 as * mut sys :: godot_method_bind , set_syntax_coloring : 0 as * mut sys :: godot_method_bind , set_text : 0 as * mut sys :: godot_method_bind , set_v_scroll : 0 as * mut sys :: godot_method_bind , set_v_scroll_speed : 0 as * mut sys :: godot_method_bind , set_virtual_keyboard_enabled : 0 as * mut sys :: godot_method_bind , set_wrap_enabled : 0 as * mut sys :: godot_method_bind , toggle_fold_line : 0 as * mut sys :: godot_method_bind , undo : 0 as * mut sys :: godot_method_bind , unfold_line : 0 as * mut sys :: godot_method_bind , unhide_all_lines : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { TextEditMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "TextEdit\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_color_region = (gd_api . godot_method_bind_get_method) (class_name , "add_color_region\0" . as_ptr () as * const c_char) ; table . add_keyword_color = (gd_api . godot_method_bind_get_method) (class_name , "add_keyword_color\0" . as_ptr () as * const c_char) ; table . can_fold = (gd_api . godot_method_bind_get_method) (class_name , "can_fold\0" . as_ptr () as * const c_char) ; table . center_viewport_to_cursor = (gd_api . godot_method_bind_get_method) (class_name , "center_viewport_to_cursor\0" . as_ptr () as * const c_char) ; table . clear_colors = (gd_api . godot_method_bind_get_method) (class_name , "clear_colors\0" . as_ptr () as * const c_char) ; table . clear_undo_history = (gd_api . godot_method_bind_get_method) (class_name , "clear_undo_history\0" . as_ptr () as * const c_char) ; table . copy = (gd_api . godot_method_bind_get_method) (class_name , "copy\0" . as_ptr () as * const c_char) ; table . cursor_get_blink_enabled = (gd_api . godot_method_bind_get_method) (class_name , "cursor_get_blink_enabled\0" . as_ptr () as * const c_char) ; table . cursor_get_blink_speed = (gd_api . godot_method_bind_get_method) (class_name , "cursor_get_blink_speed\0" . as_ptr () as * const c_char) ; table . cursor_get_column = (gd_api . godot_method_bind_get_method) (class_name , "cursor_get_column\0" . as_ptr () as * const c_char) ; table . cursor_get_line = (gd_api . godot_method_bind_get_method) (class_name , "cursor_get_line\0" . as_ptr () as * const c_char) ; table . cursor_is_block_mode = (gd_api . godot_method_bind_get_method) (class_name , "cursor_is_block_mode\0" . as_ptr () as * const c_char) ; table . cursor_set_blink_enabled = (gd_api . godot_method_bind_get_method) (class_name , "cursor_set_blink_enabled\0" . as_ptr () as * const c_char) ; table . cursor_set_blink_speed = (gd_api . godot_method_bind_get_method) (class_name , "cursor_set_blink_speed\0" . as_ptr () as * const c_char) ; table . cursor_set_block_mode = (gd_api . godot_method_bind_get_method) (class_name , "cursor_set_block_mode\0" . as_ptr () as * const c_char) ; table . cursor_set_column = (gd_api . godot_method_bind_get_method) (class_name , "cursor_set_column\0" . as_ptr () as * const c_char) ; table . cursor_set_line = (gd_api . godot_method_bind_get_method) (class_name , "cursor_set_line\0" . as_ptr () as * const c_char) ; table . cut = (gd_api . godot_method_bind_get_method) (class_name , "cut\0" . as_ptr () as * const c_char) ; table . deselect = (gd_api . godot_method_bind_get_method) (class_name , "deselect\0" . as_ptr () as * const c_char) ; table . draw_minimap = (gd_api . godot_method_bind_get_method) (class_name , "draw_minimap\0" . as_ptr () as * const c_char) ; table . fold_all_lines = (gd_api . godot_method_bind_get_method) (class_name , "fold_all_lines\0" . as_ptr () as * const c_char) ; table . fold_line = (gd_api . godot_method_bind_get_method) (class_name , "fold_line\0" . as_ptr () as * const c_char) ; table . get_breakpoints = (gd_api . godot_method_bind_get_method) (class_name , "get_breakpoints\0" . as_ptr () as * const c_char) ; table . get_h_scroll = (gd_api . godot_method_bind_get_method) (class_name , "get_h_scroll\0" . as_ptr () as * const c_char) ; table . get_keyword_color = (gd_api . godot_method_bind_get_method) (class_name , "get_keyword_color\0" . as_ptr () as * const c_char) ; table . get_line = (gd_api . godot_method_bind_get_method) (class_name , "get_line\0" . as_ptr () as * const c_char) ; table . get_line_count = (gd_api . godot_method_bind_get_method) (class_name , "get_line_count\0" . as_ptr () as * const c_char) ; table . get_menu = (gd_api . godot_method_bind_get_method) (class_name , "get_menu\0" . as_ptr () as * const c_char) ; table . get_minimap_width = (gd_api . godot_method_bind_get_method) (class_name , "get_minimap_width\0" . as_ptr () as * const c_char) ; table . get_selection_from_column = (gd_api . godot_method_bind_get_method) (class_name , "get_selection_from_column\0" . as_ptr () as * const c_char) ; table . get_selection_from_line = (gd_api . godot_method_bind_get_method) (class_name , "get_selection_from_line\0" . as_ptr () as * const c_char) ; table . get_selection_text = (gd_api . godot_method_bind_get_method) (class_name , "get_selection_text\0" . as_ptr () as * const c_char) ; table . get_selection_to_column = (gd_api . godot_method_bind_get_method) (class_name , "get_selection_to_column\0" . as_ptr () as * const c_char) ; table . get_selection_to_line = (gd_api . godot_method_bind_get_method) (class_name , "get_selection_to_line\0" . as_ptr () as * const c_char) ; table . get_text = (gd_api . godot_method_bind_get_method) (class_name , "get_text\0" . as_ptr () as * const c_char) ; table . get_v_scroll = (gd_api . godot_method_bind_get_method) (class_name , "get_v_scroll\0" . as_ptr () as * const c_char) ; table . get_v_scroll_speed = (gd_api . godot_method_bind_get_method) (class_name , "get_v_scroll_speed\0" . as_ptr () as * const c_char) ; table . get_word_under_cursor = (gd_api . godot_method_bind_get_method) (class_name , "get_word_under_cursor\0" . as_ptr () as * const c_char) ; table . has_keyword_color = (gd_api . godot_method_bind_get_method) (class_name , "has_keyword_color\0" . as_ptr () as * const c_char) ; table . insert_text_at_cursor = (gd_api . godot_method_bind_get_method) (class_name , "insert_text_at_cursor\0" . as_ptr () as * const c_char) ; table . is_breakpoint_gutter_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_breakpoint_gutter_enabled\0" . as_ptr () as * const c_char) ; table . is_context_menu_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_context_menu_enabled\0" . as_ptr () as * const c_char) ; table . is_drawing_fold_gutter = (gd_api . godot_method_bind_get_method) (class_name , "is_drawing_fold_gutter\0" . as_ptr () as * const c_char) ; table . is_drawing_minimap = (gd_api . godot_method_bind_get_method) (class_name , "is_drawing_minimap\0" . as_ptr () as * const c_char) ; table . is_drawing_spaces = (gd_api . godot_method_bind_get_method) (class_name , "is_drawing_spaces\0" . as_ptr () as * const c_char) ; table . is_drawing_tabs = (gd_api . godot_method_bind_get_method) (class_name , "is_drawing_tabs\0" . as_ptr () as * const c_char) ; table . is_folded = (gd_api . godot_method_bind_get_method) (class_name , "is_folded\0" . as_ptr () as * const c_char) ; table . is_hiding_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_hiding_enabled\0" . as_ptr () as * const c_char) ; table . is_highlight_all_occurrences_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_highlight_all_occurrences_enabled\0" . as_ptr () as * const c_char) ; table . is_highlight_current_line_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_highlight_current_line_enabled\0" . as_ptr () as * const c_char) ; table . is_line_hidden = (gd_api . godot_method_bind_get_method) (class_name , "is_line_hidden\0" . as_ptr () as * const c_char) ; table . is_line_set_as_bookmark = (gd_api . godot_method_bind_get_method) (class_name , "is_line_set_as_bookmark\0" . as_ptr () as * const c_char) ; table . is_line_set_as_breakpoint = (gd_api . godot_method_bind_get_method) (class_name , "is_line_set_as_breakpoint\0" . as_ptr () as * const c_char) ; table . is_line_set_as_safe = (gd_api . godot_method_bind_get_method) (class_name , "is_line_set_as_safe\0" . as_ptr () as * const c_char) ; table . is_overriding_selected_font_color = (gd_api . godot_method_bind_get_method) (class_name , "is_overriding_selected_font_color\0" . as_ptr () as * const c_char) ; table . is_readonly = (gd_api . godot_method_bind_get_method) (class_name , "is_readonly\0" . as_ptr () as * const c_char) ; table . is_right_click_moving_caret = (gd_api . godot_method_bind_get_method) (class_name , "is_right_click_moving_caret\0" . as_ptr () as * const c_char) ; table . is_selecting_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_selecting_enabled\0" . as_ptr () as * const c_char) ; table . is_selection_active = (gd_api . godot_method_bind_get_method) (class_name , "is_selection_active\0" . as_ptr () as * const c_char) ; table . is_shortcut_keys_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_shortcut_keys_enabled\0" . as_ptr () as * const c_char) ; table . is_show_line_numbers_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_show_line_numbers_enabled\0" . as_ptr () as * const c_char) ; table . is_smooth_scroll_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_smooth_scroll_enabled\0" . as_ptr () as * const c_char) ; table . is_syntax_coloring_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_syntax_coloring_enabled\0" . as_ptr () as * const c_char) ; table . is_virtual_keyboard_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_virtual_keyboard_enabled\0" . as_ptr () as * const c_char) ; table . is_wrap_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_wrap_enabled\0" . as_ptr () as * const c_char) ; table . menu_option = (gd_api . godot_method_bind_get_method) (class_name , "menu_option\0" . as_ptr () as * const c_char) ; table . paste = (gd_api . godot_method_bind_get_method) (class_name , "paste\0" . as_ptr () as * const c_char) ; table . redo = (gd_api . godot_method_bind_get_method) (class_name , "redo\0" . as_ptr () as * const c_char) ; table . remove_breakpoints = (gd_api . godot_method_bind_get_method) (class_name , "remove_breakpoints\0" . as_ptr () as * const c_char) ; table . search = (gd_api . godot_method_bind_get_method) (class_name , "search\0" . as_ptr () as * const c_char) ; table . select = (gd_api . godot_method_bind_get_method) (class_name , "select\0" . as_ptr () as * const c_char) ; table . select_all = (gd_api . godot_method_bind_get_method) (class_name , "select_all\0" . as_ptr () as * const c_char) ; table . set_breakpoint_gutter_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_breakpoint_gutter_enabled\0" . as_ptr () as * const c_char) ; table . set_context_menu_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_context_menu_enabled\0" . as_ptr () as * const c_char) ; table . set_draw_fold_gutter = (gd_api . godot_method_bind_get_method) (class_name , "set_draw_fold_gutter\0" . as_ptr () as * const c_char) ; table . set_draw_spaces = (gd_api . godot_method_bind_get_method) (class_name , "set_draw_spaces\0" . as_ptr () as * const c_char) ; table . set_draw_tabs = (gd_api . godot_method_bind_get_method) (class_name , "set_draw_tabs\0" . as_ptr () as * const c_char) ; table . set_h_scroll = (gd_api . godot_method_bind_get_method) (class_name , "set_h_scroll\0" . as_ptr () as * const c_char) ; table . set_hiding_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_hiding_enabled\0" . as_ptr () as * const c_char) ; table . set_highlight_all_occurrences = (gd_api . godot_method_bind_get_method) (class_name , "set_highlight_all_occurrences\0" . as_ptr () as * const c_char) ; table . set_highlight_current_line = (gd_api . godot_method_bind_get_method) (class_name , "set_highlight_current_line\0" . as_ptr () as * const c_char) ; table . set_line = (gd_api . godot_method_bind_get_method) (class_name , "set_line\0" . as_ptr () as * const c_char) ; table . set_line_as_bookmark = (gd_api . godot_method_bind_get_method) (class_name , "set_line_as_bookmark\0" . as_ptr () as * const c_char) ; table . set_line_as_breakpoint = (gd_api . godot_method_bind_get_method) (class_name , "set_line_as_breakpoint\0" . as_ptr () as * const c_char) ; table . set_line_as_hidden = (gd_api . godot_method_bind_get_method) (class_name , "set_line_as_hidden\0" . as_ptr () as * const c_char) ; table . set_line_as_safe = (gd_api . godot_method_bind_get_method) (class_name , "set_line_as_safe\0" . as_ptr () as * const c_char) ; table . set_minimap_width = (gd_api . godot_method_bind_get_method) (class_name , "set_minimap_width\0" . as_ptr () as * const c_char) ; table . set_override_selected_font_color = (gd_api . godot_method_bind_get_method) (class_name , "set_override_selected_font_color\0" . as_ptr () as * const c_char) ; table . set_readonly = (gd_api . godot_method_bind_get_method) (class_name , "set_readonly\0" . as_ptr () as * const c_char) ; table . set_right_click_moves_caret = (gd_api . godot_method_bind_get_method) (class_name , "set_right_click_moves_caret\0" . as_ptr () as * const c_char) ; table . set_selecting_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_selecting_enabled\0" . as_ptr () as * const c_char) ; table . set_shortcut_keys_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_shortcut_keys_enabled\0" . as_ptr () as * const c_char) ; table . set_show_line_numbers = (gd_api . godot_method_bind_get_method) (class_name , "set_show_line_numbers\0" . as_ptr () as * const c_char) ; table . set_smooth_scroll_enable = (gd_api . godot_method_bind_get_method) (class_name , "set_smooth_scroll_enable\0" . as_ptr () as * const c_char) ; table . set_syntax_coloring = (gd_api . godot_method_bind_get_method) (class_name , "set_syntax_coloring\0" . as_ptr () as * const c_char) ; table . set_text = (gd_api . godot_method_bind_get_method) (class_name , "set_text\0" . as_ptr () as * const c_char) ; table . set_v_scroll = (gd_api . godot_method_bind_get_method) (class_name , "set_v_scroll\0" . as_ptr () as * const c_char) ; table . set_v_scroll_speed = (gd_api . godot_method_bind_get_method) (class_name , "set_v_scroll_speed\0" . as_ptr () as * const c_char) ; table . set_virtual_keyboard_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_virtual_keyboard_enabled\0" . as_ptr () as * const c_char) ; table . set_wrap_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_wrap_enabled\0" . as_ptr () as * const c_char) ; table . toggle_fold_line = (gd_api . godot_method_bind_get_method) (class_name , "toggle_fold_line\0" . as_ptr () as * const c_char) ; table . undo = (gd_api . godot_method_bind_get_method) (class_name , "undo\0" . as_ptr () as * const c_char) ; table . unfold_line = (gd_api . godot_method_bind_get_method) (class_name , "unfold_line\0" . as_ptr () as * const c_char) ; table . unhide_all_lines = (gd_api . godot_method_bind_get_method) (class_name , "unhide_all_lines\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:532:5500
[INFO] [stdout]     |
[INFO] [stdout] 532 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 532 |                 # [doc = "`core class VisualScriptConstant` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptconstant.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptConstant inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptConstant { this : RawObject < Self > , } impl VisualScriptConstant { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptConstantMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn constant_type (& self) -> VariantType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptConstantMethodTable :: get (get_api ()) . get_constant_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; VariantType :: from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn constant_value (& self) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptConstantMethodTable :: get (get_api ()) . get_constant_value ; let ret = crate :: icalls :: icallptr_var (method_bind , self . this . sys () . as_ptr ()) ; Variant :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_constant_type (& self , _type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptConstantMethodTable :: get (get_api ()) . set_constant_type ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , _type) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_constant_value (& self , value : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptConstantMethodTable :: get (get_api ()) . set_constant_value ; let ret = crate :: icalls :: icallptr_void_var (method_bind , self . this . sys () . as_ptr () , value . owned_to_variant ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptConstant { } unsafe impl GodotObject for VisualScriptConstant { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptConstant" } } impl std :: ops :: Deref for VisualScriptConstant { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptConstant { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptConstant { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptConstant { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptConstant { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptConstant { } impl Instanciable for VisualScriptConstant { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptConstant :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptConstantMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_constant_type : * mut sys :: godot_method_bind , pub get_constant_value : * mut sys :: godot_method_bind , pub set_constant_type : * mut sys :: godot_method_bind , pub set_constant_value : * mut sys :: godot_method_bind } impl VisualScriptConstantMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptConstantMethodTable = VisualScriptConstantMethodTable { class_constructor : None , get_constant_type : 0 as * mut sys :: godot_method_bind , get_constant_value : 0 as * mut sys :: godot_method_bind , set_constant_type : 0 as * mut sys :: godot_method_bind , set_constant_value : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptConstantMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptConstant\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_constant_type = (gd_api . godot_method_bind_get_method) (class_name , "get_constant_type\0" . as_ptr () as * const c_char) ; table . get_constant_value = (gd_api . godot_method_bind_get_method) (class_name , "get_constant_value\0" . as_ptr () as * const c_char) ; table . set_constant_type = (gd_api . godot_method_bind_get_method) (class_name , "set_constant_type\0" . as_ptr () as * const c_char) ; table . set_constant_value = (gd_api . godot_method_bind_get_method) (class_name , "set_constant_value\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:538:7485
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 538 |                 # [doc = "`core class InputEventWithModifiers` inherits `InputEvent` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_inputeventwithmodifiers.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nInputEventWithModifiers inherits methods from:\n - [InputEvent](struct.InputEvent.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct InputEventWithModifiers { this : RawObject < Self > , } impl InputEventWithModifiers { # [doc = "State of the `Alt` modifier."] # [doc = ""] # [inline] pub fn alt (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . get_alt ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "State of the `Command` modifier."] # [doc = ""] # [inline] pub fn command (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . get_command ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "State of the `Ctrl` modifier."] # [doc = ""] # [inline] pub fn control (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . get_control ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "State of the `Meta` modifier."] # [doc = ""] # [inline] pub fn metakey (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . get_metakey ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "State of the `Shift` modifier."] # [doc = ""] # [inline] pub fn shift (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . get_shift ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "State of the `Alt` modifier."] # [doc = ""] # [inline] pub fn set_alt (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . set_alt ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "State of the `Command` modifier."] # [doc = ""] # [inline] pub fn set_command (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . set_command ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "State of the `Ctrl` modifier."] # [doc = ""] # [inline] pub fn set_control (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . set_control ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "State of the `Meta` modifier."] # [doc = ""] # [inline] pub fn set_metakey (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . set_metakey ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "State of the `Shift` modifier."] # [doc = ""] # [inline] pub fn set_shift (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventWithModifiersMethodTable :: get (get_api ()) . set_shift ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for InputEventWithModifiers { } unsafe impl GodotObject for InputEventWithModifiers { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "InputEventWithModifiers" } } impl std :: ops :: Deref for InputEventWithModifiers { type Target = crate :: generated :: input_event :: InputEvent ; # [inline] fn deref (& self) -> & crate :: generated :: input_event :: InputEvent { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for InputEventWithModifiers { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: input_event :: InputEvent { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: input_event :: InputEvent > for InputEventWithModifiers { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for InputEventWithModifiers { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for InputEventWithModifiers { } unsafe impl SubClass < crate :: generated :: object :: Object > for InputEventWithModifiers { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct InputEventWithModifiersMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_alt : * mut sys :: godot_method_bind , pub get_command : * mut sys :: godot_method_bind , pub get_control : * mut sys :: godot_method_bind , pub get_metakey : * mut sys :: godot_method_bind , pub get_shift : * mut sys :: godot_method_bind , pub set_alt : * mut sys :: godot_method_bind , pub set_command : * mut sys :: godot_method_bind , pub set_control : * mut sys :: godot_method_bind , pub set_metakey : * mut sys :: godot_method_bind , pub set_shift : * mut sys :: godot_method_bind } impl InputEventWithModifiersMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : InputEventWithModifiersMethodTable = InputEventWithModifiersMethodTable { class_constructor : None , get_alt : 0 as * mut sys :: godot_method_bind , get_command : 0 as * mut sys :: godot_method_bind , get_control : 0 as * mut sys :: godot_method_bind , get_metakey : 0 as * mut sys :: godot_method_bind , get_shift : 0 as * mut sys :: godot_method_bind , set_alt : 0 as * mut sys :: godot_method_bind , set_command : 0 as * mut sys :: godot_method_bind , set_control : 0 as * mut sys :: godot_method_bind , set_metakey : 0 as * mut sys :: godot_method_bind , set_shift : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { InputEventWithModifiersMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "InputEventWithModifiers\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_alt = (gd_api . godot_method_bind_get_method) (class_name , "get_alt\0" . as_ptr () as * const c_char) ; table . get_command = (gd_api . godot_method_bind_get_method) (class_name , "get_command\0" . as_ptr () as * const c_char) ; table . get_control = (gd_api . godot_method_bind_get_method) (class_name , "get_control\0" . as_ptr () as * const c_char) ; table . get_metakey = (gd_api . godot_method_bind_get_method) (class_name , "get_metakey\0" . as_ptr () as * const c_char) ; table . get_shift = (gd_api . godot_method_bind_get_method) (class_name , "get_shift\0" . as_ptr () as * const c_char) ; table . set_alt = (gd_api . godot_method_bind_get_method) (class_name , "set_alt\0" . as_ptr () as * const c_char) ; table . set_command = (gd_api . godot_method_bind_get_method) (class_name , "set_command\0" . as_ptr () as * const c_char) ; table . set_control = (gd_api . godot_method_bind_get_method) (class_name , "set_control\0" . as_ptr () as * const c_char) ; table . set_metakey = (gd_api . godot_method_bind_get_method) (class_name , "set_metakey\0" . as_ptr () as * const c_char) ; table . set_shift = (gd_api . godot_method_bind_get_method) (class_name , "set_shift\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:544:4670
[INFO] [stdout]     |
[INFO] [stdout] 544 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 544 |                 # [doc = "`core class VisualScriptGlobalConstant` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptglobalconstant.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptGlobalConstant inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptGlobalConstant { this : RawObject < Self > , } impl VisualScriptGlobalConstant { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptGlobalConstantMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn global_constant (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptGlobalConstantMethodTable :: get (get_api ()) . get_global_constant ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_global_constant (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptGlobalConstantMethodTable :: get (get_api ()) . set_global_constant ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptGlobalConstant { } unsafe impl GodotObject for VisualScriptGlobalConstant { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptGlobalConstant" } } impl std :: ops :: Deref for VisualScriptGlobalConstant { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptGlobalConstant { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptGlobalConstant { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptGlobalConstant { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptGlobalConstant { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptGlobalConstant { } impl Instanciable for VisualScriptGlobalConstant { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptGlobalConstant :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptGlobalConstantMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_global_constant : * mut sys :: godot_method_bind , pub set_global_constant : * mut sys :: godot_method_bind } impl VisualScriptGlobalConstantMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptGlobalConstantMethodTable = VisualScriptGlobalConstantMethodTable { class_constructor : None , get_global_constant : 0 as * mut sys :: godot_method_bind , set_global_constant : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptGlobalConstantMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptGlobalConstant\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_global_constant = (gd_api . godot_method_bind_get_method) (class_name , "get_global_constant\0" . as_ptr () as * const c_char) ; table . set_global_constant = (gd_api . godot_method_bind_get_method) (class_name , "set_global_constant\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:550:13732
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 # [doc = "`core class ColorPicker` inherits `BoxContainer` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_colorpicker.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`ColorPicker` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<ColorPicker>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nColorPicker inherits methods from:\n - [BoxContainer](struct.BoxContainer.html)\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ColorPicker { this : RawObject < Self > , } impl ColorPicker { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ColorPickerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them.\n**Note:** the presets list is only for [i]this[/i] color picker."] # [doc = ""] # [inline] pub fn add_preset (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . add_preset ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = "If `true`, the \"add preset\" button is enabled."] # [doc = ""] # [inline] pub fn are_presets_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . are_presets_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, saved color presets are visible."] # [doc = ""] # [inline] pub fn are_presets_visible (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . are_presets_visible ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Removes the given color from the list of color presets of this color picker."] # [doc = ""] # [inline] pub fn erase_preset (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . erase_preset ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = "The currently selected color."] # [doc = ""] # [inline] pub fn pick_color (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . get_pick_color ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the list of colors in the presets of the color picker."] # [doc = ""] # [inline] pub fn get_presets (& self) -> ColorArray { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . get_presets ; let ret = crate :: icalls :: icallptr_colorarr (method_bind , self . this . sys () . as_ptr ()) ; ColorArray :: from_sys (ret) } } # [doc = "If `true`, the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues)."] # [doc = ""] # [inline] pub fn is_deferred_mode (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . is_deferred_mode ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, shows an alpha channel slider (transparency)."] # [doc = ""] # [inline] pub fn is_editing_alpha (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . is_editing_alpha ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, allows editing the color with Hue/Saturation/Value sliders.\n**Note:** Cannot be enabled if raw mode is on."] # [doc = ""] # [inline] pub fn is_hsv_mode (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . is_hsv_mode ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).\n**Note:** Cannot be enabled if HSV mode is on."] # [doc = ""] # [inline] pub fn is_raw_mode (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . is_raw_mode ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues)."] # [doc = ""] # [inline] pub fn set_deferred_mode (& self , mode : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . set_deferred_mode ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "If `true`, shows an alpha channel slider (transparency)."] # [doc = ""] # [inline] pub fn set_edit_alpha (& self , show : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . set_edit_alpha ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , show) ; } } # [doc = "If `true`, allows editing the color with Hue/Saturation/Value sliders.\n**Note:** Cannot be enabled if raw mode is on."] # [doc = ""] # [inline] pub fn set_hsv_mode (& self , mode : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . set_hsv_mode ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The currently selected color."] # [doc = ""] # [inline] pub fn set_pick_color (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . set_pick_color ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = "If `true`, the \"add preset\" button is enabled."] # [doc = ""] # [inline] pub fn set_presets_enabled (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . set_presets_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, saved color presets are visible."] # [doc = ""] # [inline] pub fn set_presets_visible (& self , visible : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . set_presets_visible ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , visible) ; } } # [doc = "If `true`, allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).\n**Note:** Cannot be enabled if HSV mode is on."] # [doc = ""] # [inline] pub fn set_raw_mode (& self , mode : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ColorPickerMethodTable :: get (get_api ()) . set_raw_mode ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , mode) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ColorPicker { } unsafe impl GodotObject for ColorPicker { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ColorPicker" } } impl QueueFree for ColorPicker { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for ColorPicker { type Target = crate :: generated :: box_container :: BoxContainer ; # [inline] fn deref (& self) -> & crate :: generated :: box_container :: BoxContainer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ColorPicker { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: box_container :: BoxContainer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: box_container :: BoxContainer > for ColorPicker { } unsafe impl SubClass < crate :: generated :: container :: Container > for ColorPicker { } unsafe impl SubClass < crate :: generated :: control :: Control > for ColorPicker { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for ColorPicker { } unsafe impl SubClass < crate :: generated :: node :: Node > for ColorPicker { } unsafe impl SubClass < crate :: generated :: object :: Object > for ColorPicker { } impl Instanciable for ColorPicker { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ColorPicker :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ColorPickerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_preset : * mut sys :: godot_method_bind , pub are_presets_enabled : * mut sys :: godot_method_bind , pub are_presets_visible : * mut sys :: godot_method_bind , pub erase_preset : * mut sys :: godot_method_bind , pub get_pick_color : * mut sys :: godot_method_bind , pub get_presets : * mut sys :: godot_method_bind , pub is_deferred_mode : * mut sys :: godot_method_bind , pub is_editing_alpha : * mut sys :: godot_method_bind , pub is_hsv_mode : * mut sys :: godot_method_bind , pub is_raw_mode : * mut sys :: godot_method_bind , pub set_deferred_mode : * mut sys :: godot_method_bind , pub set_edit_alpha : * mut sys :: godot_method_bind , pub set_hsv_mode : * mut sys :: godot_method_bind , pub set_pick_color : * mut sys :: godot_method_bind , pub set_presets_enabled : * mut sys :: godot_method_bind , pub set_presets_visible : * mut sys :: godot_method_bind , pub set_raw_mode : * mut sys :: godot_method_bind } impl ColorPickerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ColorPickerMethodTable = ColorPickerMethodTable { class_constructor : None , add_preset : 0 as * mut sys :: godot_method_bind , are_presets_enabled : 0 as * mut sys :: godot_method_bind , are_presets_visible : 0 as * mut sys :: godot_method_bind , erase_preset : 0 as * mut sys :: godot_method_bind , get_pick_color : 0 as * mut sys :: godot_method_bind , get_presets : 0 as * mut sys :: godot_method_bind , is_deferred_mode : 0 as * mut sys :: godot_method_bind , is_editing_alpha : 0 as * mut sys :: godot_method_bind , is_hsv_mode : 0 as * mut sys :: godot_method_bind , is_raw_mode : 0 as * mut sys :: godot_method_bind , set_deferred_mode : 0 as * mut sys :: godot_method_bind , set_edit_alpha : 0 as * mut sys :: godot_method_bind , set_hsv_mode : 0 as * mut sys :: godot_method_bind , set_pick_color : 0 as * mut sys :: godot_method_bind , set_presets_enabled : 0 as * mut sys :: godot_method_bind , set_presets_visible : 0 as * mut sys :: godot_method_bind , set_raw_mode : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ColorPickerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ColorPicker\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_preset = (gd_api . godot_method_bind_get_method) (class_name , "add_preset\0" . as_ptr () as * const c_char) ; table . are_presets_enabled = (gd_api . godot_method_bind_get_method) (class_name , "are_presets_enabled\0" . as_ptr () as * const c_char) ; table . are_presets_visible = (gd_api . godot_method_bind_get_method) (class_name , "are_presets_visible\0" . as_ptr () as * const c_char) ; table . erase_preset = (gd_api . godot_method_bind_get_method) (class_name , "erase_preset\0" . as_ptr () as * const c_char) ; table . get_pick_color = (gd_api . godot_method_bind_get_method) (class_name , "get_pick_color\0" . as_ptr () as * const c_char) ; table . get_presets = (gd_api . godot_method_bind_get_method) (class_name , "get_presets\0" . as_ptr () as * const c_char) ; table . is_deferred_mode = (gd_api . godot_method_bind_get_method) (class_name , "is_deferred_mode\0" . as_ptr () as * const c_char) ; table . is_editing_alpha = (gd_api . godot_method_bind_get_method) (class_name , "is_editing_alpha\0" . as_ptr () as * const c_char) ; table . is_hsv_mode = (gd_api . godot_method_bind_get_method) (class_name , "is_hsv_mode\0" . as_ptr () as * const c_char) ; table . is_raw_mode = (gd_api . godot_method_bind_get_method) (class_name , "is_raw_mode\0" . as_ptr () as * const c_char) ; table . set_deferred_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_deferred_mode\0" . as_ptr () as * const c_char) ; table . set_edit_alpha = (gd_api . godot_method_bind_get_method) (class_name , "set_edit_alpha\0" . as_ptr () as * const c_char) ; table . set_hsv_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_hsv_mode\0" . as_ptr () as * const c_char) ; table . set_pick_color = (gd_api . godot_method_bind_get_method) (class_name , "set_pick_color\0" . as_ptr () as * const c_char) ; table . set_presets_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_presets_enabled\0" . as_ptr () as * const c_char) ; table . set_presets_visible = (gd_api . godot_method_bind_get_method) (class_name , "set_presets_visible\0" . as_ptr () as * const c_char) ; table . set_raw_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_raw_mode\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:556:11410
[INFO] [stdout]     |
[INFO] [stdout] 556 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 556 |                 # [doc = "`core class WebSocketServer` inherits `WebSocketMultiplayerPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_websocketserver.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebSocketServer inherits methods from:\n - [WebSocketMultiplayerPeer](struct.WebSocketMultiplayerPeer.html)\n - [NetworkedMultiplayerPeer](struct.NetworkedMultiplayerPeer.html)\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebSocketServer { this : RawObject < Self > , } impl WebSocketServer { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WebSocketServerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn disconnect_peer (& self , id : i64 , code : i64 , reason : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . disconnect_peer ; let ret = crate :: icalls :: icallptr_void_i64_i64_str (method_bind , self . this . sys () . as_ptr () , id , code , reason . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn bind_ip (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . get_bind_ip ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn ca_chain (& self) -> Option < Ref < crate :: generated :: x509_certificate :: X509Certificate , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . get_ca_chain ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: x509_certificate :: X509Certificate , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_peer_address (& self , id : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . get_peer_address ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , id) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_peer_port (& self , id : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . get_peer_port ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , id) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn private_key (& self) -> Option < Ref < crate :: generated :: crypto_key :: CryptoKey , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . get_private_key ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: crypto_key :: CryptoKey , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn ssl_certificate (& self) -> Option < Ref < crate :: generated :: x509_certificate :: X509Certificate , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . get_ssl_certificate ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: x509_certificate :: X509Certificate , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn has_peer (& self , id : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . has_peer ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , id) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_listening (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . is_listening ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn listen (& self , port : i64 , protocols : StringArray , gd_mp_api : bool) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . listen ; let ret = crate :: icalls :: icallptr_i64_i64_strarr_bool (method_bind , self . this . sys () . as_ptr () , port , protocols , gd_mp_api) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_bind_ip (& self , arg0 : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . set_bind_ip ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , arg0 . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_ca_chain (& self , arg0 : impl AsArg < crate :: generated :: x509_certificate :: X509Certificate >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . set_ca_chain ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , arg0 . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_private_key (& self , arg0 : impl AsArg < crate :: generated :: crypto_key :: CryptoKey >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . set_private_key ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , arg0 . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_ssl_certificate (& self , arg0 : impl AsArg < crate :: generated :: x509_certificate :: X509Certificate >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . set_ssl_certificate ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , arg0 . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn stop (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketServerMethodTable :: get (get_api ()) . stop ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for WebSocketServer { } unsafe impl GodotObject for WebSocketServer { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebSocketServer" } } impl std :: ops :: Deref for WebSocketServer { type Target = crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer ; # [inline] fn deref (& self) -> & crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebSocketServer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: web_socket_multiplayer_peer :: WebSocketMultiplayerPeer > for WebSocketServer { } unsafe impl SubClass < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer > for WebSocketServer { } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for WebSocketServer { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebSocketServer { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebSocketServer { } impl Instanciable for WebSocketServer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WebSocketServer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebSocketServerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub disconnect_peer : * mut sys :: godot_method_bind , pub get_bind_ip : * mut sys :: godot_method_bind , pub get_ca_chain : * mut sys :: godot_method_bind , pub get_peer_address : * mut sys :: godot_method_bind , pub get_peer_port : * mut sys :: godot_method_bind , pub get_private_key : * mut sys :: godot_method_bind , pub get_ssl_certificate : * mut sys :: godot_method_bind , pub has_peer : * mut sys :: godot_method_bind , pub is_listening : * mut sys :: godot_method_bind , pub listen : * mut sys :: godot_method_bind , pub set_bind_ip : * mut sys :: godot_method_bind , pub set_ca_chain : * mut sys :: godot_method_bind , pub set_private_key : * mut sys :: godot_method_bind , pub set_ssl_certificate : * mut sys :: godot_method_bind , pub stop : * mut sys :: godot_method_bind } impl WebSocketServerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebSocketServerMethodTable = WebSocketServerMethodTable { class_constructor : None , disconnect_peer : 0 as * mut sys :: godot_method_bind , get_bind_ip : 0 as * mut sys :: godot_method_bind , get_ca_chain : 0 as * mut sys :: godot_method_bind , get_peer_address : 0 as * mut sys :: godot_method_bind , get_peer_port : 0 as * mut sys :: godot_method_bind , get_private_key : 0 as * mut sys :: godot_method_bind , get_ssl_certificate : 0 as * mut sys :: godot_method_bind , has_peer : 0 as * mut sys :: godot_method_bind , is_listening : 0 as * mut sys :: godot_method_bind , listen : 0 as * mut sys :: godot_method_bind , set_bind_ip : 0 as * mut sys :: godot_method_bind , set_ca_chain : 0 as * mut sys :: godot_method_bind , set_private_key : 0 as * mut sys :: godot_method_bind , set_ssl_certificate : 0 as * mut sys :: godot_method_bind , stop : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebSocketServerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebSocketServer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . disconnect_peer = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_peer\0" . as_ptr () as * const c_char) ; table . get_bind_ip = (gd_api . godot_method_bind_get_method) (class_name , "get_bind_ip\0" . as_ptr () as * const c_char) ; table . get_ca_chain = (gd_api . godot_method_bind_get_method) (class_name , "get_ca_chain\0" . as_ptr () as * const c_char) ; table . get_peer_address = (gd_api . godot_method_bind_get_method) (class_name , "get_peer_address\0" . as_ptr () as * const c_char) ; table . get_peer_port = (gd_api . godot_method_bind_get_method) (class_name , "get_peer_port\0" . as_ptr () as * const c_char) ; table . get_private_key = (gd_api . godot_method_bind_get_method) (class_name , "get_private_key\0" . as_ptr () as * const c_char) ; table . get_ssl_certificate = (gd_api . godot_method_bind_get_method) (class_name , "get_ssl_certificate\0" . as_ptr () as * const c_char) ; table . has_peer = (gd_api . godot_method_bind_get_method) (class_name , "has_peer\0" . as_ptr () as * const c_char) ; table . is_listening = (gd_api . godot_method_bind_get_method) (class_name , "is_listening\0" . as_ptr () as * const c_char) ; table . listen = (gd_api . godot_method_bind_get_method) (class_name , "listen\0" . as_ptr () as * const c_char) ; table . set_bind_ip = (gd_api . godot_method_bind_get_method) (class_name , "set_bind_ip\0" . as_ptr () as * const c_char) ; table . set_ca_chain = (gd_api . godot_method_bind_get_method) (class_name , "set_ca_chain\0" . as_ptr () as * const c_char) ; table . set_private_key = (gd_api . godot_method_bind_get_method) (class_name , "set_private_key\0" . as_ptr () as * const c_char) ; table . set_ssl_certificate = (gd_api . godot_method_bind_get_method) (class_name , "set_ssl_certificate\0" . as_ptr () as * const c_char) ; table . stop = (gd_api . godot_method_bind_get_method) (class_name , "stop\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:562:8153
[INFO] [stdout]     |
[INFO] [stdout] 562 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 562 |                 # [doc = "`core class VisualInstance` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualinstance.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nVisualInstance inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualInstance { this : RawObject < Self > , } impl VisualInstance { # [doc = "Returns the [AABB] (also known as the bounding box) for this [VisualInstance]. See also [method get_transformed_aabb]."] # [doc = ""] # [inline] pub fn get_aabb (& self) -> Aabb { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . get_aabb ; let ret = crate :: icalls :: icallptr_aabb (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the RID of the resource associated with this [VisualInstance]. For example, if the Node is a [MeshInstance], this will return the RID of the associated [Mesh]."] # [doc = ""] # [inline] pub fn get_base (& self) -> Rid { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . get_base ; let ret = crate :: icalls :: icallptr_rid (method_bind , self . this . sys () . as_ptr ()) ; Rid :: from_sys (ret) } } # [doc = "Returns the RID of this instance. This RID is the same as the RID returned by [method VisualServer.instance_create]. This RID is needed if you want to call [VisualServer] functions directly on this [VisualInstance]."] # [doc = ""] # [inline] pub fn get_instance (& self) -> Rid { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . get_instance ; let ret = crate :: icalls :: icallptr_rid (method_bind , self . this . sys () . as_ptr ()) ; Rid :: from_sys (ret) } } # [doc = "The render layer(s) this [VisualInstance] is drawn on.\nThis object will only be visible for [Camera]s whose cull mask includes the render object this [VisualInstance] is set to."] # [doc = ""] # [inline] pub fn layer_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . get_layer_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` when the specified layer is enabled in [member layers] and `false` otherwise."] # [doc = ""] # [inline] pub fn get_layer_mask_bit (& self , layer : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . get_layer_mask_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , layer) ; ret as _ } } # [doc = "Returns the transformed [AABB] (also known as the bounding box) for this [VisualInstance].\nTransformed in this case means the [AABB] plus the position, rotation, and scale of the [Spatial]'s [Transform]. See also [method get_aabb]."] # [doc = ""] # [inline] pub fn get_transformed_aabb (& self) -> Aabb { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . get_transformed_aabb ; let ret = crate :: icalls :: icallptr_aabb (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Sets the resource that is instantiated by this [VisualInstance], which changes how the engine handles the [VisualInstance] under the hood. Equivalent to [method VisualServer.instance_set_base]."] # [doc = ""] # [inline] pub fn set_base (& self , base : Rid) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . set_base ; let ret = crate :: icalls :: icallptr_void_rid (method_bind , self . this . sys () . as_ptr () , base) ; } } # [doc = "The render layer(s) this [VisualInstance] is drawn on.\nThis object will only be visible for [Camera]s whose cull mask includes the render object this [VisualInstance] is set to."] # [doc = ""] # [inline] pub fn set_layer_mask (& self , mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . set_layer_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mask) ; } } # [doc = "Enables a particular layer in [member layers]."] # [doc = ""] # [inline] pub fn set_layer_mask_bit (& self , layer : i64 , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualInstanceMethodTable :: get (get_api ()) . set_layer_mask_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , layer , enabled) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualInstance { } unsafe impl GodotObject for VisualInstance { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "VisualInstance" } } impl QueueFree for VisualInstance { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for VisualInstance { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualInstance { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for VisualInstance { } unsafe impl SubClass < crate :: generated :: node :: Node > for VisualInstance { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualInstance { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualInstanceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_aabb : * mut sys :: godot_method_bind , pub get_base : * mut sys :: godot_method_bind , pub get_instance : * mut sys :: godot_method_bind , pub get_layer_mask : * mut sys :: godot_method_bind , pub get_layer_mask_bit : * mut sys :: godot_method_bind , pub get_transformed_aabb : * mut sys :: godot_method_bind , pub set_base : * mut sys :: godot_method_bind , pub set_layer_mask : * mut sys :: godot_method_bind , pub set_layer_mask_bit : * mut sys :: godot_method_bind } impl VisualInstanceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualInstanceMethodTable = VisualInstanceMethodTable { class_constructor : None , get_aabb : 0 as * mut sys :: godot_method_bind , get_base : 0 as * mut sys :: godot_method_bind , get_instance : 0 as * mut sys :: godot_method_bind , get_layer_mask : 0 as * mut sys :: godot_method_bind , get_layer_mask_bit : 0 as * mut sys :: godot_method_bind , get_transformed_aabb : 0 as * mut sys :: godot_method_bind , set_base : 0 as * mut sys :: godot_method_bind , set_layer_mask : 0 as * mut sys :: godot_method_bind , set_layer_mask_bit : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualInstanceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualInstance\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_aabb = (gd_api . godot_method_bind_get_method) (class_name , "get_aabb\0" . as_ptr () as * const c_char) ; table . get_base = (gd_api . godot_method_bind_get_method) (class_name , "get_base\0" . as_ptr () as * const c_char) ; table . get_instance = (gd_api . godot_method_bind_get_method) (class_name , "get_instance\0" . as_ptr () as * const c_char) ; table . get_layer_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_layer_mask\0" . as_ptr () as * const c_char) ; table . get_layer_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_layer_mask_bit\0" . as_ptr () as * const c_char) ; table . get_transformed_aabb = (gd_api . godot_method_bind_get_method) (class_name , "get_transformed_aabb\0" . as_ptr () as * const c_char) ; table . set_base = (gd_api . godot_method_bind_get_method) (class_name , "set_base\0" . as_ptr () as * const c_char) ; table . set_layer_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_layer_mask\0" . as_ptr () as * const c_char) ; table . set_layer_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_layer_mask_bit\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:568:5080
[INFO] [stdout]     |
[INFO] [stdout] 568 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 # [doc = "`tools class EditorSelection` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorselection.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nEditorSelection inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorSelection { this : RawObject < Self > , } impl EditorSelection { # [doc = "Adds a node to the selection."] # [doc = ""] # [inline] pub fn add_node (& self , node : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorSelectionMethodTable :: get (get_api ()) . add_node ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Clear the selection."] # [doc = ""] # [inline] pub fn clear (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorSelectionMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Gets the list of selected nodes."] # [doc = ""] # [inline] pub fn get_selected_nodes (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorSelectionMethodTable :: get (get_api ()) . get_selected_nodes ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Gets the list of selected nodes, optimized for transform operations (i.e. moving them, rotating, etc). This list avoids situations where a node is selected and also child/grandchild."] # [doc = ""] # [inline] pub fn get_transformable_selected_nodes (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorSelectionMethodTable :: get (get_api ()) . get_transformable_selected_nodes ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Removes a node from the selection."] # [doc = ""] # [inline] pub fn remove_node (& self , node : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorSelectionMethodTable :: get (get_api ()) . remove_node ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorSelection { } unsafe impl GodotObject for EditorSelection { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "EditorSelection" } } impl std :: ops :: Deref for EditorSelection { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorSelection { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorSelection { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorSelectionMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_node : * mut sys :: godot_method_bind , pub clear : * mut sys :: godot_method_bind , pub get_selected_nodes : * mut sys :: godot_method_bind , pub get_transformable_selected_nodes : * mut sys :: godot_method_bind , pub remove_node : * mut sys :: godot_method_bind } impl EditorSelectionMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorSelectionMethodTable = EditorSelectionMethodTable { class_constructor : None , add_node : 0 as * mut sys :: godot_method_bind , clear : 0 as * mut sys :: godot_method_bind , get_selected_nodes : 0 as * mut sys :: godot_method_bind , get_transformable_selected_nodes : 0 as * mut sys :: godot_method_bind , remove_node : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorSelectionMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorSelection\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_node = (gd_api . godot_method_bind_get_method) (class_name , "add_node\0" . as_ptr () as * const c_char) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . get_selected_nodes = (gd_api . godot_method_bind_get_method) (class_name , "get_selected_nodes\0" . as_ptr () as * const c_char) ; table . get_transformable_selected_nodes = (gd_api . godot_method_bind_get_method) (class_name , "get_transformable_selected_nodes\0" . as_ptr () as * const c_char) ; table . remove_node = (gd_api . godot_method_bind_get_method) (class_name , "remove_node\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:574:4564
[INFO] [stdout]     |
[INFO] [stdout] 574 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 574 |                 # [doc = "`core class PanelContainer` inherits `Container` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_panelcontainer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`PanelContainer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<PanelContainer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPanelContainer inherits methods from:\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PanelContainer { this : RawObject < Self > , } impl PanelContainer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PanelContainerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for PanelContainer { } unsafe impl GodotObject for PanelContainer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "PanelContainer" } } impl QueueFree for PanelContainer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for PanelContainer { type Target = crate :: generated :: container :: Container ; # [inline] fn deref (& self) -> & crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PanelContainer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: container :: Container > for PanelContainer { } unsafe impl SubClass < crate :: generated :: control :: Control > for PanelContainer { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for PanelContainer { } unsafe impl SubClass < crate :: generated :: node :: Node > for PanelContainer { } unsafe impl SubClass < crate :: generated :: object :: Object > for PanelContainer { } impl Instanciable for PanelContainer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PanelContainer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PanelContainerMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl PanelContainerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PanelContainerMethodTable = PanelContainerMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PanelContainerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PanelContainer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:580:6230
[INFO] [stdout]     |
[INFO] [stdout] 580 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 580 |                 # [doc = "`core class Listener` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_listener.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Listener` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Listener>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nListener inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Listener { this : RawObject < Self > , } impl Listener { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ListenerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Disables the listener to use the current camera's listener instead."] # [doc = ""] # [inline] pub fn clear_current (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ListenerMethodTable :: get (get_api ()) . clear_current ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns the listener's global orthonormalized [Transform]."] # [doc = ""] # [inline] pub fn get_listener_transform (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = ListenerMethodTable :: get (get_api ()) . get_listener_transform ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns `true` if the listener was made current using [method make_current], `false` otherwise.\n**Note:** There may be more than one Listener marked as \"current\" in the scene tree, but only the one that was made current last will be used."] # [doc = ""] # [inline] pub fn is_current (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ListenerMethodTable :: get (get_api ()) . is_current ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Enables the listener. This will override the current camera's listener."] # [doc = ""] # [inline] pub fn make_current (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ListenerMethodTable :: get (get_api ()) . make_current ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Listener { } unsafe impl GodotObject for Listener { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Listener" } } impl QueueFree for Listener { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Listener { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Listener { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for Listener { } unsafe impl SubClass < crate :: generated :: node :: Node > for Listener { } unsafe impl SubClass < crate :: generated :: object :: Object > for Listener { } impl Instanciable for Listener { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Listener :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ListenerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub clear_current : * mut sys :: godot_method_bind , pub get_listener_transform : * mut sys :: godot_method_bind , pub is_current : * mut sys :: godot_method_bind , pub make_current : * mut sys :: godot_method_bind } impl ListenerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ListenerMethodTable = ListenerMethodTable { class_constructor : None , clear_current : 0 as * mut sys :: godot_method_bind , get_listener_transform : 0 as * mut sys :: godot_method_bind , is_current : 0 as * mut sys :: godot_method_bind , make_current : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ListenerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Listener\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . clear_current = (gd_api . godot_method_bind_get_method) (class_name , "clear_current\0" . as_ptr () as * const c_char) ; table . get_listener_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_listener_transform\0" . as_ptr () as * const c_char) ; table . is_current = (gd_api . godot_method_bind_get_method) (class_name , "is_current\0" . as_ptr () as * const c_char) ; table . make_current = (gd_api . godot_method_bind_get_method) (class_name , "make_current\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:586:11978
[INFO] [stdout]     |
[INFO] [stdout] 586 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 586 |                 # [doc = "`core class SpriteFrames` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_spriteframes.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nSpriteFrames inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SpriteFrames { this : RawObject < Self > , } impl SpriteFrames { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SpriteFramesMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a new animation to the library."] # [doc = ""] # [inline] pub fn add_animation (& self , anim : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . add_animation ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; } } # [doc = "Adds a frame to the given animation.\n# Default Arguments\n* `at_position` - `-1`"] # [doc = ""] # [inline] pub fn add_frame (& self , anim : impl Into < GodotString > , frame : impl AsArg < crate :: generated :: texture :: Texture > , at_position : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . add_frame ; let ret = crate :: icalls :: icallptr_void_str_obj_i64 (method_bind , self . this . sys () . as_ptr () , anim . into () , frame . as_arg_ptr () , at_position) ; } } # [doc = "Removes all frames from the given animation."] # [doc = ""] # [inline] pub fn clear (& self , anim : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; } } # [doc = "Removes all animations. A \"default\" animation will be created."] # [doc = ""] # [inline] pub fn clear_all (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . clear_all ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, the given animation will loop."] # [doc = ""] # [inline] pub fn get_animation_loop (& self , anim : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . get_animation_loop ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; ret as _ } } # [doc = "Returns an array containing the names associated to each animation. Values are placed in alphabetical order."] # [doc = ""] # [inline] pub fn get_animation_names (& self) -> StringArray { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . get_animation_names ; let ret = crate :: icalls :: icallptr_strarr (method_bind , self . this . sys () . as_ptr ()) ; StringArray :: from_sys (ret) } } # [doc = "The animation's speed in frames per second."] # [doc = ""] # [inline] pub fn get_animation_speed (& self , anim : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . get_animation_speed ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; ret as _ } } # [doc = "Returns the animation's selected frame."] # [doc = ""] # [inline] pub fn get_frame (& self , anim : impl Into < GodotString > , idx : i64) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . get_frame ; let ret = crate :: icalls :: icallptr_obj_str_i64 (method_bind , self . this . sys () . as_ptr () , anim . into () , idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of frames in the animation."] # [doc = ""] # [inline] pub fn get_frame_count (& self , anim : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . get_frame_count ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; ret as _ } } # [doc = "If `true`, the named animation exists."] # [doc = ""] # [inline] pub fn has_animation (& self , anim : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . has_animation ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; ret as _ } } # [doc = "Removes the given animation."] # [doc = ""] # [inline] pub fn remove_animation (& self , anim : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . remove_animation ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; } } # [doc = "Removes the animation's selected frame."] # [doc = ""] # [inline] pub fn remove_frame (& self , anim : impl Into < GodotString > , idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . remove_frame ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , anim . into () , idx) ; } } # [doc = "Changes the animation's name to `newname`."] # [doc = ""] # [inline] pub fn rename_animation (& self , anim : impl Into < GodotString > , newname : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . rename_animation ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , anim . into () , newname . into ()) ; } } # [doc = "If `true`, the animation will loop."] # [doc = ""] # [inline] pub fn set_animation_loop (& self , anim : impl Into < GodotString > , _loop : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . set_animation_loop ; let ret = crate :: icalls :: icallptr_void_str_bool (method_bind , self . this . sys () . as_ptr () , anim . into () , _loop) ; } } # [doc = "The animation's speed in frames per second."] # [doc = ""] # [inline] pub fn set_animation_speed (& self , anim : impl Into < GodotString > , speed : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . set_animation_speed ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , anim . into () , speed) ; } } # [doc = "Sets the texture of the given frame."] # [doc = ""] # [inline] pub fn set_frame (& self , anim : impl Into < GodotString > , idx : i64 , txt : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpriteFramesMethodTable :: get (get_api ()) . set_frame ; let ret = crate :: icalls :: icallptr_void_str_i64_obj (method_bind , self . this . sys () . as_ptr () , anim . into () , idx , txt . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SpriteFrames { } unsafe impl GodotObject for SpriteFrames { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "SpriteFrames" } } impl std :: ops :: Deref for SpriteFrames { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SpriteFrames { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for SpriteFrames { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for SpriteFrames { } unsafe impl SubClass < crate :: generated :: object :: Object > for SpriteFrames { } impl Instanciable for SpriteFrames { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SpriteFrames :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SpriteFramesMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_animation : * mut sys :: godot_method_bind , pub add_frame : * mut sys :: godot_method_bind , pub clear : * mut sys :: godot_method_bind , pub clear_all : * mut sys :: godot_method_bind , pub get_animation_loop : * mut sys :: godot_method_bind , pub get_animation_names : * mut sys :: godot_method_bind , pub get_animation_speed : * mut sys :: godot_method_bind , pub get_frame : * mut sys :: godot_method_bind , pub get_frame_count : * mut sys :: godot_method_bind , pub has_animation : * mut sys :: godot_method_bind , pub remove_animation : * mut sys :: godot_method_bind , pub remove_frame : * mut sys :: godot_method_bind , pub rename_animation : * mut sys :: godot_method_bind , pub set_animation_loop : * mut sys :: godot_method_bind , pub set_animation_speed : * mut sys :: godot_method_bind , pub set_frame : * mut sys :: godot_method_bind } impl SpriteFramesMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SpriteFramesMethodTable = SpriteFramesMethodTable { class_constructor : None , add_animation : 0 as * mut sys :: godot_method_bind , add_frame : 0 as * mut sys :: godot_method_bind , clear : 0 as * mut sys :: godot_method_bind , clear_all : 0 as * mut sys :: godot_method_bind , get_animation_loop : 0 as * mut sys :: godot_method_bind , get_animation_names : 0 as * mut sys :: godot_method_bind , get_animation_speed : 0 as * mut sys :: godot_method_bind , get_frame : 0 as * mut sys :: godot_method_bind , get_frame_count : 0 as * mut sys :: godot_method_bind , has_animation : 0 as * mut sys :: godot_method_bind , remove_animation : 0 as * mut sys :: godot_method_bind , remove_frame : 0 as * mut sys :: godot_method_bind , rename_animation : 0 as * mut sys :: godot_method_bind , set_animation_loop : 0 as * mut sys :: godot_method_bind , set_animation_speed : 0 as * mut sys :: godot_method_bind , set_frame : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SpriteFramesMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SpriteFrames\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_animation = (gd_api . godot_method_bind_get_method) (class_name , "add_animation\0" . as_ptr () as * const c_char) ; table . add_frame = (gd_api . godot_method_bind_get_method) (class_name , "add_frame\0" . as_ptr () as * const c_char) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . clear_all = (gd_api . godot_method_bind_get_method) (class_name , "clear_all\0" . as_ptr () as * const c_char) ; table . get_animation_loop = (gd_api . godot_method_bind_get_method) (class_name , "get_animation_loop\0" . as_ptr () as * const c_char) ; table . get_animation_names = (gd_api . godot_method_bind_get_method) (class_name , "get_animation_names\0" . as_ptr () as * const c_char) ; table . get_animation_speed = (gd_api . godot_method_bind_get_method) (class_name , "get_animation_speed\0" . as_ptr () as * const c_char) ; table . get_frame = (gd_api . godot_method_bind_get_method) (class_name , "get_frame\0" . as_ptr () as * const c_char) ; table . get_frame_count = (gd_api . godot_method_bind_get_method) (class_name , "get_frame_count\0" . as_ptr () as * const c_char) ; table . has_animation = (gd_api . godot_method_bind_get_method) (class_name , "has_animation\0" . as_ptr () as * const c_char) ; table . remove_animation = (gd_api . godot_method_bind_get_method) (class_name , "remove_animation\0" . as_ptr () as * const c_char) ; table . remove_frame = (gd_api . godot_method_bind_get_method) (class_name , "remove_frame\0" . as_ptr () as * const c_char) ; table . rename_animation = (gd_api . godot_method_bind_get_method) (class_name , "rename_animation\0" . as_ptr () as * const c_char) ; table . set_animation_loop = (gd_api . godot_method_bind_get_method) (class_name , "set_animation_loop\0" . as_ptr () as * const c_char) ; table . set_animation_speed = (gd_api . godot_method_bind_get_method) (class_name , "set_animation_speed\0" . as_ptr () as * const c_char) ; table . set_frame = (gd_api . godot_method_bind_get_method) (class_name , "set_frame\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:28:1792
[INFO] [stdout]    |
[INFO] [stdout] 28 | ...camel_case_types)] # [derive (Debug)] pub struct ARVRCamera { this : RawObject < Self > , } impl ARVRCamera { # [doc = "Creates a...
[INFO] [stdout]    |                                                     ----------   ^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ARVRCamera` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:58:1520
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...se_types)] # [derive (Debug)] pub struct AudioEffectBandLimitFilter { this : RawObject < Self > , } impl AudioEffectBandLimitFilt...
[INFO] [stdout]    |                                             --------------------------   ^^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AudioEffectBandLimitFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:76:1194
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...amel_case_types)] # [derive (Debug)] pub struct InputDefault { this : RawObject < Self > , } impl InputDefault { } impl gdnative_...
[INFO] [stdout]    |                                                    ------------   ^^^^
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputDefault` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:100:1458
[INFO] [stdout]     |
[INFO] [stdout] 100 | ...ase_types)] # [derive (Debug)] pub struct VisualShaderNodeCustom { this : RawObject < Self > , } impl VisualShaderNodeCustom { #...
[INFO] [stdout]     |                                              ----------------------   ^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeCustom` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:124:1309
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...camel_case_types)] # [derive (Debug)] pub struct JavaClass { this : RawObject < Self > , } impl JavaClass { # [doc = "Creates a ...
[INFO] [stdout]     |                                                     ---------   ^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JavaClass` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:136:1309
[INFO] [stdout]     |
[INFO] [stdout] 136 | ..._types)] # [derive (Debug)] pub struct BulletPhysicsDirectBodyState { this : RawObject < Self > , } impl BulletPhysicsDirectBody...
[INFO] [stdout]     |                                           ----------------------------   ^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BulletPhysicsDirectBodyState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:148:1353
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...case_types)] # [derive (Debug)] pub struct ResourceFormatLoader { this : RawObject < Self > , } impl ResourceFormatLoader { # [d...
[INFO] [stdout]     |                                               --------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResourceFormatLoader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:250:1365
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...el_case_types)] # [derive (Debug)] pub struct AudioBusLayout { this : RawObject < Self > , } impl AudioBusLayout { # [doc = "Cre...
[INFO] [stdout]     |                                                  --------------   ^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AudioBusLayout` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:304:1846
[INFO] [stdout]     |
[INFO] [stdout] 304 | ..._camel_case_types)] # [derive (Debug)] pub struct VSlider { this : RawObject < Self > , } impl VSlider { # [doc = "Creates a new...
[INFO] [stdout]     |                                                      -------   ^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VSlider` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:316:1760
[INFO] [stdout]     |
[INFO] [stdout] 316 | ...amel_case_types)] # [derive (Debug)] pub struct Position3D { this : RawObject < Self > , } impl Position3D { # [doc = "Creates a...
[INFO] [stdout]     |                                                    ----------   ^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Position3D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:436:1454
[INFO] [stdout]     |
[INFO] [stdout] 436 | ...case_types)] # [derive (Debug)] pub struct VisualScriptCondition { this : RawObject < Self > , } impl VisualScriptCondition { # ...
[INFO] [stdout]     |                                               ---------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualScriptCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:442:1337
[INFO] [stdout]     |
[INFO] [stdout] 442 | ...l_case_types)] # [derive (Debug)] pub struct ResourceImporter { this : RawObject < Self > , } impl ResourceImporter { } impl gdn...
[INFO] [stdout]     |                                                 ----------------   ^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResourceImporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:460:1434
[INFO] [stdout]     |
[INFO] [stdout] 460 | ...se_types)] # [derive (Debug)] pub struct AnimationTrackEditPlugin { this : RawObject < Self > , } impl AnimationTrackEditPlugin ...
[INFO] [stdout]     |                                             ------------------------   ^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnimationTrackEditPlugin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:592:25184
[INFO] [stdout]     |
[INFO] [stdout] 592 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 592 |                 # [doc = "`core class VehicleWheel` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_vehiclewheel.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`VehicleWheel` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<VehicleWheel>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nVehicleWheel inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VehicleWheel { this : RawObject < Self > , } impl VehicleWheel { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VehicleWheelMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Slows down the wheel by applying a braking force. The wheel is only slowed down if it is in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the [member RigidBody.mass] of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking."] # [doc = ""] # [inline] pub fn brake (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_brake ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The damping applied to the spring when the spring is being compressed. This value should be between 0.0 (no damping) and 1.0. A value of 0.0 means the car will keep bouncing as the spring keeps its energy. A good value for this is around 0.3 for a normal car, 0.5 for a race car."] # [doc = ""] # [inline] pub fn damping_compression (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_damping_compression ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The damping applied to the spring when relaxing. This value should be between 0.0 (no damping) and 1.0. This value should always be slightly higher than the [member damping_compression] property. For a [member damping_compression] value of 0.3, try a relaxation value of 0.5."] # [doc = ""] # [inline] pub fn damping_relaxation (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_damping_relaxation ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Accelerates the wheel by applying an engine force. The wheel is only speed up if it is in contact with a surface. The [member RigidBody.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration.\n**Note:** The simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.\nA negative value will result in the wheel reversing."] # [doc = ""] # [inline] pub fn engine_force (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_engine_force ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "This determines how much grip this wheel has. It is combined with the friction setting of the surface the wheel is in contact with. 0.0 means no grip, 1.0 is normal grip. For a drift car setup, try setting the grip of the rear wheels slightly lower than the front wheels, or use a lower value to simulate tire wear.\nIt's best to set this to 1.0 when starting out."] # [doc = ""] # [inline] pub fn friction_slip (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_friction_slip ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The radius of the wheel in meters."] # [doc = ""] # [inline] pub fn radius (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_radius ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "This value affects the roll of your vehicle. If set to 1.0 for all wheels, your vehicle will be prone to rolling over, while a value of 0.0 will resist body roll."] # [doc = ""] # [inline] pub fn roll_influence (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_roll_influence ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the rotational speed of the wheel in revolutions per minute."] # [doc = ""] # [inline] pub fn get_rpm (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_rpm ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a value between 0.0 and 1.0 that indicates whether this wheel is skidding. 0.0 is skidding (the wheel has lost grip, e.g. icy terrain), 1.0 means not skidding (the wheel has full grip, e.g. dry asphalt road)."] # [doc = ""] # [inline] pub fn get_skidinfo (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_skidinfo ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The steering angle for the wheel. Setting this to a non-zero value will result in the vehicle turning when it's moving."] # [doc = ""] # [inline] pub fn steering (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_steering ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The maximum force the spring can resist. This value should be higher than a quarter of the [member RigidBody.mass] of the [VehicleBody] or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3× to 4× this number."] # [doc = ""] # [inline] pub fn suspension_max_force (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_suspension_max_force ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "This is the distance in meters the wheel is lowered from its origin point. Don't set this to 0.0 and move the wheel into position, instead move the origin point of your wheel (the gizmo in Godot) to the position the wheel will take when bottoming out, then use the rest length to move the wheel down to the position it should be in when the car is in rest."] # [doc = ""] # [inline] pub fn suspension_rest_length (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_suspension_rest_length ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "This value defines the stiffness of the suspension. Use a value lower than 50 for an off-road car, a value between 50 and 100 for a race car and try something around 200 for something like a Formula 1 car."] # [doc = ""] # [inline] pub fn suspension_stiffness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_suspension_stiffness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "This is the distance the suspension can travel. As Godot units are equivalent to meters, keep this setting relatively low. Try a value between 0.1 and 0.3 depending on the type of car."] # [doc = ""] # [inline] pub fn suspension_travel (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . get_suspension_travel ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if this wheel is in contact with a surface."] # [doc = ""] # [inline] pub fn is_in_contact (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . is_in_contact ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, this wheel will be turned when the car steers. This value is used in conjunction with [member VehicleBody.steering] and ignored if you are using the per-wheel [member steering] value instead."] # [doc = ""] # [inline] pub fn is_used_as_steering (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . is_used_as_steering ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, this wheel transfers engine force to the ground to propel the vehicle forward. This value is used in conjunction with [member VehicleBody.engine_force] and ignored if you are using the per-wheel [member engine_force] value instead."] # [doc = ""] # [inline] pub fn is_used_as_traction (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . is_used_as_traction ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Slows down the wheel by applying a braking force. The wheel is only slowed down if it is in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the [member RigidBody.mass] of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking."] # [doc = ""] # [inline] pub fn set_brake (& self , brake : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_brake ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , brake) ; } } # [doc = "The damping applied to the spring when the spring is being compressed. This value should be between 0.0 (no damping) and 1.0. A value of 0.0 means the car will keep bouncing as the spring keeps its energy. A good value for this is around 0.3 for a normal car, 0.5 for a race car."] # [doc = ""] # [inline] pub fn set_damping_compression (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_damping_compression ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "The damping applied to the spring when relaxing. This value should be between 0.0 (no damping) and 1.0. This value should always be slightly higher than the [member damping_compression] property. For a [member damping_compression] value of 0.3, try a relaxation value of 0.5."] # [doc = ""] # [inline] pub fn set_damping_relaxation (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_damping_relaxation ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "Accelerates the wheel by applying an engine force. The wheel is only speed up if it is in contact with a surface. The [member RigidBody.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration.\n**Note:** The simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.\nA negative value will result in the wheel reversing."] # [doc = ""] # [inline] pub fn set_engine_force (& self , engine_force : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_engine_force ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , engine_force) ; } } # [doc = "This determines how much grip this wheel has. It is combined with the friction setting of the surface the wheel is in contact with. 0.0 means no grip, 1.0 is normal grip. For a drift car setup, try setting the grip of the rear wheels slightly lower than the front wheels, or use a lower value to simulate tire wear.\nIt's best to set this to 1.0 when starting out."] # [doc = ""] # [inline] pub fn set_friction_slip (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_friction_slip ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "The radius of the wheel in meters."] # [doc = ""] # [inline] pub fn set_radius (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_radius ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "This value affects the roll of your vehicle. If set to 1.0 for all wheels, your vehicle will be prone to rolling over, while a value of 0.0 will resist body roll."] # [doc = ""] # [inline] pub fn set_roll_influence (& self , roll_influence : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_roll_influence ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , roll_influence) ; } } # [doc = "The steering angle for the wheel. Setting this to a non-zero value will result in the vehicle turning when it's moving."] # [doc = ""] # [inline] pub fn set_steering (& self , steering : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_steering ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , steering) ; } } # [doc = "The maximum force the spring can resist. This value should be higher than a quarter of the [member RigidBody.mass] of the [VehicleBody] or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3× to 4× this number."] # [doc = ""] # [inline] pub fn set_suspension_max_force (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_suspension_max_force ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "This is the distance in meters the wheel is lowered from its origin point. Don't set this to 0.0 and move the wheel into position, instead move the origin point of your wheel (the gizmo in Godot) to the position the wheel will take when bottoming out, then use the rest length to move the wheel down to the position it should be in when the car is in rest."] # [doc = ""] # [inline] pub fn set_suspension_rest_length (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_suspension_rest_length ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "This value defines the stiffness of the suspension. Use a value lower than 50 for an off-road car, a value between 50 and 100 for a race car and try something around 200 for something like a Formula 1 car."] # [doc = ""] # [inline] pub fn set_suspension_stiffness (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_suspension_stiffness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "This is the distance the suspension can travel. As Godot units are equivalent to meters, keep this setting relatively low. Try a value between 0.1 and 0.3 depending on the type of car."] # [doc = ""] # [inline] pub fn set_suspension_travel (& self , length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_suspension_travel ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , length) ; } } # [doc = "If `true`, this wheel will be turned when the car steers. This value is used in conjunction with [member VehicleBody.steering] and ignored if you are using the per-wheel [member steering] value instead."] # [doc = ""] # [inline] pub fn set_use_as_steering (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_use_as_steering ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, this wheel transfers engine force to the ground to propel the vehicle forward. This value is used in conjunction with [member VehicleBody.engine_force] and ignored if you are using the per-wheel [member engine_force] value instead."] # [doc = ""] # [inline] pub fn set_use_as_traction (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VehicleWheelMethodTable :: get (get_api ()) . set_use_as_traction ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VehicleWheel { } unsafe impl GodotObject for VehicleWheel { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "VehicleWheel" } } impl QueueFree for VehicleWheel { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for VehicleWheel { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VehicleWheel { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for VehicleWheel { } unsafe impl SubClass < crate :: generated :: node :: Node > for VehicleWheel { } unsafe impl SubClass < crate :: generated :: object :: Object > for VehicleWheel { } impl Instanciable for VehicleWheel { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VehicleWheel :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VehicleWheelMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_brake : * mut sys :: godot_method_bind , pub get_damping_compression : * mut sys :: godot_method_bind , pub get_damping_relaxation : * mut sys :: godot_method_bind , pub get_engine_force : * mut sys :: godot_method_bind , pub get_friction_slip : * mut sys :: godot_method_bind , pub get_radius : * mut sys :: godot_method_bind , pub get_roll_influence : * mut sys :: godot_method_bind , pub get_rpm : * mut sys :: godot_method_bind , pub get_skidinfo : * mut sys :: godot_method_bind , pub get_steering : * mut sys :: godot_method_bind , pub get_suspension_max_force : * mut sys :: godot_method_bind , pub get_suspension_rest_length : * mut sys :: godot_method_bind , pub get_suspension_stiffness : * mut sys :: godot_method_bind , pub get_suspension_travel : * mut sys :: godot_method_bind , pub is_in_contact : * mut sys :: godot_method_bind , pub is_used_as_steering : * mut sys :: godot_method_bind , pub is_used_as_traction : * mut sys :: godot_method_bind , pub set_brake : * mut sys :: godot_method_bind , pub set_damping_compression : * mut sys :: godot_method_bind , pub set_damping_relaxation : * mut sys :: godot_method_bind , pub set_engine_force : * mut sys :: godot_method_bind , pub set_friction_slip : * mut sys :: godot_method_bind , pub set_radius : * mut sys :: godot_method_bind , pub set_roll_influence : * mut sys :: godot_method_bind , pub set_steering : * mut sys :: godot_method_bind , pub set_suspension_max_force : * mut sys :: godot_method_bind , pub set_suspension_rest_length : * mut sys :: godot_method_bind , pub set_suspension_stiffness : * mut sys :: godot_method_bind , pub set_suspension_travel : * mut sys :: godot_method_bind , pub set_use_as_steering : * mut sys :: godot_method_bind , pub set_use_as_traction : * mut sys :: godot_method_bind } impl VehicleWheelMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VehicleWheelMethodTable = VehicleWheelMethodTable { class_constructor : None , get_brake : 0 as * mut sys :: godot_method_bind , get_damping_compression : 0 as * mut sys :: godot_method_bind , get_damping_relaxation : 0 as * mut sys :: godot_method_bind , get_engine_force : 0 as * mut sys :: godot_method_bind , get_friction_slip : 0 as * mut sys :: godot_method_bind , get_radius : 0 as * mut sys :: godot_method_bind , get_roll_influence : 0 as * mut sys :: godot_method_bind , get_rpm : 0 as * mut sys :: godot_method_bind , get_skidinfo : 0 as * mut sys :: godot_method_bind , get_steering : 0 as * mut sys :: godot_method_bind , get_suspension_max_force : 0 as * mut sys :: godot_method_bind , get_suspension_rest_length : 0 as * mut sys :: godot_method_bind , get_suspension_stiffness : 0 as * mut sys :: godot_method_bind , get_suspension_travel : 0 as * mut sys :: godot_method_bind , is_in_contact : 0 as * mut sys :: godot_method_bind , is_used_as_steering : 0 as * mut sys :: godot_method_bind , is_used_as_traction : 0 as * mut sys :: godot_method_bind , set_brake : 0 as * mut sys :: godot_method_bind , set_damping_compression : 0 as * mut sys :: godot_method_bind , set_damping_relaxation : 0 as * mut sys :: godot_method_bind , set_engine_force : 0 as * mut sys :: godot_method_bind , set_friction_slip : 0 as * mut sys :: godot_method_bind , set_radius : 0 as * mut sys :: godot_method_bind , set_roll_influence : 0 as * mut sys :: godot_method_bind , set_steering : 0 as * mut sys :: godot_method_bind , set_suspension_max_force : 0 as * mut sys :: godot_method_bind , set_suspension_rest_length : 0 as * mut sys :: godot_method_bind , set_suspension_stiffness : 0 as * mut sys :: godot_method_bind , set_suspension_travel : 0 as * mut sys :: godot_method_bind , set_use_as_steering : 0 as * mut sys :: godot_method_bind , set_use_as_traction : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VehicleWheelMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VehicleWheel\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_brake = (gd_api . godot_method_bind_get_method) (class_name , "get_brake\0" . as_ptr () as * const c_char) ; table . get_damping_compression = (gd_api . godot_method_bind_get_method) (class_name , "get_damping_compression\0" . as_ptr () as * const c_char) ; table . get_damping_relaxation = (gd_api . godot_method_bind_get_method) (class_name , "get_damping_relaxation\0" . as_ptr () as * const c_char) ; table . get_engine_force = (gd_api . godot_method_bind_get_method) (class_name , "get_engine_force\0" . as_ptr () as * const c_char) ; table . get_friction_slip = (gd_api . godot_method_bind_get_method) (class_name , "get_friction_slip\0" . as_ptr () as * const c_char) ; table . get_radius = (gd_api . godot_method_bind_get_method) (class_name , "get_radius\0" . as_ptr () as * const c_char) ; table . get_roll_influence = (gd_api . godot_method_bind_get_method) (class_name , "get_roll_influence\0" . as_ptr () as * const c_char) ; table . get_rpm = (gd_api . godot_method_bind_get_method) (class_name , "get_rpm\0" . as_ptr () as * const c_char) ; table . get_skidinfo = (gd_api . godot_method_bind_get_method) (class_name , "get_skidinfo\0" . as_ptr () as * const c_char) ; table . get_steering = (gd_api . godot_method_bind_get_method) (class_name , "get_steering\0" . as_ptr () as * const c_char) ; table . get_suspension_max_force = (gd_api . godot_method_bind_get_method) (class_name , "get_suspension_max_force\0" . as_ptr () as * const c_char) ; table . get_suspension_rest_length = (gd_api . godot_method_bind_get_method) (class_name , "get_suspension_rest_length\0" . as_ptr () as * const c_char) ; table . get_suspension_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "get_suspension_stiffness\0" . as_ptr () as * const c_char) ; table . get_suspension_travel = (gd_api . godot_method_bind_get_method) (class_name , "get_suspension_travel\0" . as_ptr () as * const c_char) ; table . is_in_contact = (gd_api . godot_method_bind_get_method) (class_name , "is_in_contact\0" . as_ptr () as * const c_char) ; table . is_used_as_steering = (gd_api . godot_method_bind_get_method) (class_name , "is_used_as_steering\0" . as_ptr () as * const c_char) ; table . is_used_as_traction = (gd_api . godot_method_bind_get_method) (class_name , "is_used_as_traction\0" . as_ptr () as * const c_char) ; table . set_brake = (gd_api . godot_method_bind_get_method) (class_name , "set_brake\0" . as_ptr () as * const c_char) ; table . set_damping_compression = (gd_api . godot_method_bind_get_method) (class_name , "set_damping_compression\0" . as_ptr () as * const c_char) ; table . set_damping_relaxation = (gd_api . godot_method_bind_get_method) (class_name , "set_damping_relaxation\0" . as_ptr () as * const c_char) ; table . set_engine_force = (gd_api . godot_method_bind_get_method) (class_name , "set_engine_force\0" . as_ptr () as * const c_char) ; table . set_friction_slip = (gd_api . godot_method_bind_get_method) (class_name , "set_friction_slip\0" . as_ptr () as * const c_char) ; table . set_radius = (gd_api . godot_method_bind_get_method) (class_name , "set_radius\0" . as_ptr () as * const c_char) ; table . set_roll_influence = (gd_api . godot_method_bind_get_method) (class_name , "set_roll_influence\0" . as_ptr () as * const c_char) ; table . set_steering = (gd_api . godot_method_bind_get_method) (class_name , "set_steering\0" . as_ptr () as * const c_char) ; table . set_suspension_max_force = (gd_api . godot_method_bind_get_method) (class_name , "set_suspension_max_force\0" . as_ptr () as * const c_char) ; table . set_suspension_rest_length = (gd_api . godot_method_bind_get_method) (class_name , "set_suspension_rest_length\0" . as_ptr () as * const c_char) ; table . set_suspension_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "set_suspension_stiffness\0" . as_ptr () as * const c_char) ; table . set_suspension_travel = (gd_api . godot_method_bind_get_method) (class_name , "set_suspension_travel\0" . as_ptr () as * const c_char) ; table . set_use_as_steering = (gd_api . godot_method_bind_get_method) (class_name , "set_use_as_steering\0" . as_ptr () as * const c_char) ; table . set_use_as_traction = (gd_api . godot_method_bind_get_method) (class_name , "set_use_as_traction\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:484:1446
[INFO] [stdout]     |
[INFO] [stdout] 484 | ..._case_types)] # [derive (Debug)] pub struct VisualScriptSubCall { this : RawObject < Self > , } impl VisualScriptSubCall { # [do...
[INFO] [stdout]     |                                                -------------------   ^^^^
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualScriptSubCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:508:1498
[INFO] [stdout]     |
[INFO] [stdout] 508 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarStep { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]     |                                         --------------------------------   ^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeVectorScalarStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:574:1866
[INFO] [stdout]     |
[INFO] [stdout] 574 | ...el_case_types)] # [derive (Debug)] pub struct PanelContainer { this : RawObject < Self > , } impl PanelContainer { # [doc = "Cre...
[INFO] [stdout]     |                                                  --------------   ^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PanelContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:622:1437
[INFO] [stdout]     |
[INFO] [stdout] 622 | ..._case_types)] # [derive (Debug)] pub struct AnimationNodeOutput { this : RawObject < Self > , } impl AnimationNodeOutput { # [do...
[INFO] [stdout]     |                                                -------------------   ^^^^
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnimationNodeOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:646:1445
[INFO] [stdout]     |
[INFO] [stdout] 646 | ...case_types)] # [derive (Debug)] pub struct AnimationNodeTimeSeek { this : RawObject < Self > , } impl AnimationNodeTimeSeek { # ...
[INFO] [stdout]     |                                               ---------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnimationNodeTimeSeek` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:688:1307
[INFO] [stdout]     |
[INFO] [stdout] 688 | ...e_types)] # [derive (Debug)] pub struct Physics2DDirectBodyStateSW { this : RawObject < Self > , } impl Physics2DDirectBodyState...
[INFO] [stdout]     |                                            --------------------------   ^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Physics2DDirectBodyStateSW` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:700:1258
[INFO] [stdout]     |
[INFO] [stdout] 700 | ...camel_case_types)] # [derive (Debug)] pub struct Separator { this : RawObject < Self > , } impl Separator { } impl gdnative_core...
[INFO] [stdout]     |                                                     ---------   ^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Separator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:598:15700
[INFO] [stdout]     |
[INFO] [stdout] 598 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 598 |                 # [doc = "`core class MultiplayerAPI` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_multiplayerapi.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nMultiplayerAPI inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MultiplayerAPI { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct RpcMode (pub i64) ; impl RpcMode { pub const DISABLED : RpcMode = RpcMode (0i64) ; pub const REMOTE : RpcMode = RpcMode (1i64) ; pub const MASTER : RpcMode = RpcMode (2i64) ; pub const PUPPET : RpcMode = RpcMode (3i64) ; pub const SLAVE : RpcMode = RpcMode (3i64) ; pub const SYNC : RpcMode = RpcMode (4i64) ; pub const REMOTESYNC : RpcMode = RpcMode (4i64) ; pub const MASTERSYNC : RpcMode = RpcMode (5i64) ; pub const PUPPETSYNC : RpcMode = RpcMode (6i64) ; } impl From < i64 > for RpcMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < RpcMode > for i64 { # [inline] fn from (v : RpcMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl MultiplayerAPI { pub const RPC_MODE_DISABLED : i64 = 0i64 ; pub const RPC_MODE_MASTER : i64 = 2i64 ; pub const RPC_MODE_MASTERSYNC : i64 = 5i64 ; pub const RPC_MODE_PUPPET : i64 = 3i64 ; pub const RPC_MODE_PUPPETSYNC : i64 = 6i64 ; pub const RPC_MODE_REMOTE : i64 = 1i64 ; pub const RPC_MODE_REMOTESYNC : i64 = 4i64 ; pub const RPC_MODE_SLAVE : i64 = 3i64 ; pub const RPC_MODE_SYNC : i64 = 4i64 ; } impl MultiplayerAPI { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MultiplayerAPIMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Clears the current MultiplayerAPI network state (you shouldn't call this unless you know what you are doing)."] # [doc = ""] # [inline] pub fn clear (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns the peer IDs of all connected peers of this MultiplayerAPI's [member network_peer]."] # [doc = ""] # [inline] pub fn get_network_connected_peers (& self) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . get_network_connected_peers ; let ret = crate :: icalls :: icallptr_i32arr (method_bind , self . this . sys () . as_ptr ()) ; Int32Array :: from_sys (ret) } } # [doc = "The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server]) and will set root node's network mode to master, or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals."] # [doc = ""] # [inline] pub fn network_peer (& self) -> Option < Ref < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . get_network_peer ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the unique peer ID of this MultiplayerAPI's [member network_peer]."] # [doc = ""] # [inline] pub fn get_network_unique_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . get_network_unique_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn root_node (& self) -> Option < Ref < crate :: generated :: node :: Node , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . get_root_node ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: node :: Node , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the sender's peer ID for the RPC currently being executed.\n**Note:** If not inside an RPC this method will return 0."] # [doc = ""] # [inline] pub fn get_rpc_sender_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . get_rpc_sender_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if there is a [member network_peer] set."] # [doc = ""] # [inline] pub fn has_network_peer (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . has_network_peer ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if this MultiplayerAPI's [member network_peer] is in server mode (listening for connections)."] # [doc = ""] # [inline] pub fn is_network_server (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . is_network_server ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true` (or if the [member network_peer] has [member PacketPeer.allow_object_decoding] set to `true`), the MultiplayerAPI will allow encoding and decoding of object during RPCs/RSETs.\n**Warning:** Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution."] # [doc = ""] # [inline] pub fn is_object_decoding_allowed (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . is_object_decoding_allowed ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the MultiplayerAPI's [member network_peer] refuses new incoming connections."] # [doc = ""] # [inline] pub fn is_refusing_new_network_connections (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . is_refusing_new_network_connections ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Method used for polling the MultiplayerAPI. You only need to worry about this if you are using [member Node.custom_multiplayer] override or you set [member SceneTree.multiplayer_poll] to `false`. By default, [SceneTree] will poll its MultiplayerAPI for you.\n**Note:** This method results in RPCs and RSETs being called, so they will be executed in the same context of this function (e.g. `_process`, `physics`, [Thread])."] # [doc = ""] # [inline] pub fn poll (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Sends the given raw `bytes` to a specific peer identified by `id` (see [method NetworkedMultiplayerPeer.set_target_peer]). Default ID is `0`, i.e. broadcast to all peers.\n# Default Arguments\n* `id` - `0`\n* `mode` - `2`"] # [doc = ""] # [inline] pub fn send_bytes (& self , bytes : ByteArray , id : i64 , mode : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . send_bytes ; let ret = crate :: icalls :: icallptr_i64_bytearr_i64_i64 (method_bind , self . this . sys () . as_ptr () , bytes , id , mode) ; GodotError :: result_from_sys (ret as _) } } # [doc = "If `true` (or if the [member network_peer] has [member PacketPeer.allow_object_decoding] set to `true`), the MultiplayerAPI will allow encoding and decoding of object during RPCs/RSETs.\n**Warning:** Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution."] # [doc = ""] # [inline] pub fn set_allow_object_decoding (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . set_allow_object_decoding ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server]) and will set root node's network mode to master, or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals."] # [doc = ""] # [inline] pub fn set_network_peer (& self , peer : impl AsArg < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . set_network_peer ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , peer . as_arg_ptr ()) ; } } # [doc = "If `true`, the MultiplayerAPI's [member network_peer] refuses new incoming connections."] # [doc = ""] # [inline] pub fn set_refuse_new_network_connections (& self , refuse : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . set_refuse_new_network_connections ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , refuse) ; } } # [doc = "Sets the base root node to use for RPCs. Instead of an absolute path, a relative path will be used to find the node upon which the RPC should be executed.\nThis effectively allows to have different branches of the scene tree to be managed by different MultiplayerAPI, allowing for example to run both client and server in the same scene."] # [doc = ""] # [inline] pub fn set_root_node (& self , node : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiplayerAPIMethodTable :: get (get_api ()) . set_root_node ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MultiplayerAPI { } unsafe impl GodotObject for MultiplayerAPI { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "MultiplayerAPI" } } impl std :: ops :: Deref for MultiplayerAPI { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MultiplayerAPI { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for MultiplayerAPI { } unsafe impl SubClass < crate :: generated :: object :: Object > for MultiplayerAPI { } impl Instanciable for MultiplayerAPI { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MultiplayerAPI :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MultiplayerAPIMethodTable { pub class_constructor : sys :: godot_class_constructor , pub clear : * mut sys :: godot_method_bind , pub get_network_connected_peers : * mut sys :: godot_method_bind , pub get_network_peer : * mut sys :: godot_method_bind , pub get_network_unique_id : * mut sys :: godot_method_bind , pub get_root_node : * mut sys :: godot_method_bind , pub get_rpc_sender_id : * mut sys :: godot_method_bind , pub has_network_peer : * mut sys :: godot_method_bind , pub is_network_server : * mut sys :: godot_method_bind , pub is_object_decoding_allowed : * mut sys :: godot_method_bind , pub is_refusing_new_network_connections : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind , pub send_bytes : * mut sys :: godot_method_bind , pub set_allow_object_decoding : * mut sys :: godot_method_bind , pub set_network_peer : * mut sys :: godot_method_bind , pub set_refuse_new_network_connections : * mut sys :: godot_method_bind , pub set_root_node : * mut sys :: godot_method_bind } impl MultiplayerAPIMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MultiplayerAPIMethodTable = MultiplayerAPIMethodTable { class_constructor : None , clear : 0 as * mut sys :: godot_method_bind , get_network_connected_peers : 0 as * mut sys :: godot_method_bind , get_network_peer : 0 as * mut sys :: godot_method_bind , get_network_unique_id : 0 as * mut sys :: godot_method_bind , get_root_node : 0 as * mut sys :: godot_method_bind , get_rpc_sender_id : 0 as * mut sys :: godot_method_bind , has_network_peer : 0 as * mut sys :: godot_method_bind , is_network_server : 0 as * mut sys :: godot_method_bind , is_object_decoding_allowed : 0 as * mut sys :: godot_method_bind , is_refusing_new_network_connections : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind , send_bytes : 0 as * mut sys :: godot_method_bind , set_allow_object_decoding : 0 as * mut sys :: godot_method_bind , set_network_peer : 0 as * mut sys :: godot_method_bind , set_refuse_new_network_connections : 0 as * mut sys :: godot_method_bind , set_root_node : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MultiplayerAPIMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MultiplayerAPI\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . get_network_connected_peers = (gd_api . godot_method_bind_get_method) (class_name , "get_network_connected_peers\0" . as_ptr () as * const c_char) ; table . get_network_peer = (gd_api . godot_method_bind_get_method) (class_name , "get_network_peer\0" . as_ptr () as * const c_char) ; table . get_network_unique_id = (gd_api . godot_method_bind_get_method) (class_name , "get_network_unique_id\0" . as_ptr () as * const c_char) ; table . get_root_node = (gd_api . godot_method_bind_get_method) (class_name , "get_root_node\0" . as_ptr () as * const c_char) ; table . get_rpc_sender_id = (gd_api . godot_method_bind_get_method) (class_name , "get_rpc_sender_id\0" . as_ptr () as * const c_char) ; table . has_network_peer = (gd_api . godot_method_bind_get_method) (class_name , "has_network_peer\0" . as_ptr () as * const c_char) ; table . is_network_server = (gd_api . godot_method_bind_get_method) (class_name , "is_network_server\0" . as_ptr () as * const c_char) ; table . is_object_decoding_allowed = (gd_api . godot_method_bind_get_method) (class_name , "is_object_decoding_allowed\0" . as_ptr () as * const c_char) ; table . is_refusing_new_network_connections = (gd_api . godot_method_bind_get_method) (class_name , "is_refusing_new_network_connections\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; table . send_bytes = (gd_api . godot_method_bind_get_method) (class_name , "send_bytes\0" . as_ptr () as * const c_char) ; table . set_allow_object_decoding = (gd_api . godot_method_bind_get_method) (class_name , "set_allow_object_decoding\0" . as_ptr () as * const c_char) ; table . set_network_peer = (gd_api . godot_method_bind_get_method) (class_name , "set_network_peer\0" . as_ptr () as * const c_char) ; table . set_refuse_new_network_connections = (gd_api . godot_method_bind_get_method) (class_name , "set_refuse_new_network_connections\0" . as_ptr () as * const c_char) ; table . set_root_node = (gd_api . godot_method_bind_get_method) (class_name , "set_root_node\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:718:1464
[INFO] [stdout]     |
[INFO] [stdout] 718 | ...el_case_types)] # [derive (Debug)] pub struct AudioEffectEQ21 { this : RawObject < Self > , } impl AudioEffectEQ21 { # [doc = "C...
[INFO] [stdout]     |                                                  ---------------   ^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AudioEffectEQ21` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:736:1707
[INFO] [stdout]     |
[INFO] [stdout] 736 | ...mel_case_types)] # [derive (Debug)] pub struct JNISingleton { this : RawObject < Self > , } impl JNISingleton { # [doc = "Create...
[INFO] [stdout]     |                                                   ------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JNISingleton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:772:1321
[INFO] [stdout]     |
[INFO] [stdout] 772 | ...mel_case_types)] # [derive (Debug)] pub struct SpatialGizmo { this : RawObject < Self > , } impl SpatialGizmo { } impl gdnative_...
[INFO] [stdout]     |                                                   ------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpatialGizmo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:790:1564
[INFO] [stdout]     |
[INFO] [stdout] 790 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeBooleanUniform { this : RawObject < Self > , } impl VisualShaderNodeBoolea...
[INFO] [stdout]     |                                          ------------------------------   ^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeBooleanUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:820:1498
[INFO] [stdout]     |
[INFO] [stdout] 820 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeTransformCompose { this : RawObject < Self > , } impl VisualShaderNodeTrans...
[INFO] [stdout]     |                                         --------------------------------   ^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeTransformCompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:856:1908
[INFO] [stdout]     |
[INFO] [stdout] 856 | ...mel_case_types)] # [derive (Debug)] pub struct VBoxContainer { this : RawObject < Self > , } impl VBoxContainer { # [doc = "Crea...
[INFO] [stdout]     |                                                   -------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VBoxContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:868:1862
[INFO] [stdout]     |
[INFO] [stdout] 868 | ...camel_case_types)] # [derive (Debug)] pub struct CheckBox { this : RawObject < Self > , } impl CheckBox { # [doc = "Creates a ne...
[INFO] [stdout]     |                                                     --------   ^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:604:8754
[INFO] [stdout]     |
[INFO] [stdout] 604 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 # [doc = "`core class MeshInstance2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_meshinstance2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`MeshInstance2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<MeshInstance2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nMeshInstance2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MeshInstance2D { this : RawObject < Self > , } impl MeshInstance2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MeshInstance2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [Mesh] that will be drawn by the [MeshInstance2D]."] # [doc = ""] # [inline] pub fn mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstance2DMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The normal map that will be used if using the default [CanvasItemMaterial].\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn normal_map (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstance2DMethodTable :: get (get_api ()) . get_normal_map ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as `TEXTURE` in CanvasItem shader."] # [doc = ""] # [inline] pub fn texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstance2DMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Mesh] that will be drawn by the [MeshInstance2D]."] # [doc = ""] # [inline] pub fn set_mesh (& self , mesh : impl AsArg < crate :: generated :: mesh :: Mesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstance2DMethodTable :: get (get_api ()) . set_mesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr ()) ; } } # [doc = "The normal map that will be used if using the default [CanvasItemMaterial].\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn set_normal_map (& self , normal_map : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstance2DMethodTable :: get (get_api ()) . set_normal_map ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , normal_map . as_arg_ptr ()) ; } } # [doc = "The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as `TEXTURE` in CanvasItem shader."] # [doc = ""] # [inline] pub fn set_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstance2DMethodTable :: get (get_api ()) . set_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MeshInstance2D { } unsafe impl GodotObject for MeshInstance2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "MeshInstance2D" } } impl QueueFree for MeshInstance2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for MeshInstance2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MeshInstance2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for MeshInstance2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for MeshInstance2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for MeshInstance2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for MeshInstance2D { } impl Instanciable for MeshInstance2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MeshInstance2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MeshInstance2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_mesh : * mut sys :: godot_method_bind , pub get_normal_map : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub set_mesh : * mut sys :: godot_method_bind , pub set_normal_map : * mut sys :: godot_method_bind , pub set_texture : * mut sys :: godot_method_bind } impl MeshInstance2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MeshInstance2DMethodTable = MeshInstance2DMethodTable { class_constructor : None , get_mesh : 0 as * mut sys :: godot_method_bind , get_normal_map : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , set_mesh : 0 as * mut sys :: godot_method_bind , set_normal_map : 0 as * mut sys :: godot_method_bind , set_texture : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MeshInstance2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MeshInstance2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . get_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "get_normal_map\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . set_mesh = (gd_api . godot_method_bind_get_method) (class_name , "set_mesh\0" . as_ptr () as * const c_char) ; table . set_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "set_normal_map\0" . as_ptr () as * const c_char) ; table . set_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_texture\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:892:1439
[INFO] [stdout]     |
[INFO] [stdout] 892 | ...case_types)] # [derive (Debug)] pub struct AudioStreamMicrophone { this : RawObject < Self > , } impl AudioStreamMicrophone { # ...
[INFO] [stdout]     |                                               ---------------------   ^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AudioStreamMicrophone` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:910:1494
[INFO] [stdout]     |
[INFO] [stdout] 910 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarMix { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]     |                                          -------------------------------   ^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeVectorScalarMix` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:952:1478
[INFO] [stdout]     |
[INFO] [stdout] 952 | ...e_types)] # [derive (Debug)] pub struct VisualShaderNodeScalarClamp { this : RawObject < Self > , } impl VisualShaderNodeScalarC...
[INFO] [stdout]     |                                            ---------------------------   ^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VisualShaderNodeScalarClamp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:976:1457
[INFO] [stdout]     |
[INFO] [stdout] 976 | ..._types)] # [derive (Debug)] pub struct WebRTCPeerConnectionGDNative { this : RawObject < Self > , } impl WebRTCPeerConnectionGDN...
[INFO] [stdout]     |                                           ----------------------------   ^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WebRTCPeerConnectionGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:982:1908
[INFO] [stdout]     |
[INFO] [stdout] 982 | ...mel_case_types)] # [derive (Debug)] pub struct HBoxContainer { this : RawObject < Self > , } impl HBoxContainer { # [doc = "Crea...
[INFO] [stdout]     |                                                   -------------   ^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HBoxContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:994:1246
[INFO] [stdout]     |
[INFO] [stdout] 994 | ..._case_types)] # [derive (Debug)] pub struct BulletPhysicsServer { this : RawObject < Self > , } impl BulletPhysicsServer { } imp...
[INFO] [stdout]     |                                                -------------------   ^^^^
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BulletPhysicsServer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1024:1771
[INFO] [stdout]      |
[INFO] [stdout] 1024 | ..._camel_case_types)] # [derive (Debug)] pub struct Panel { this : RawObject < Self > , } impl Panel { # [doc = "Creates a new in...
[INFO] [stdout]      |                                                      -----   ^^^^
[INFO] [stdout]      |                                                      |
[INFO] [stdout]      |                                                      field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Panel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:610:10557
[INFO] [stdout]     |
[INFO] [stdout] 610 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 610 |                 # [doc = "`core class BitmapFont` inherits `Font` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_bitmapfont.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nBitmapFont inherits methods from:\n - [Font](struct.Font.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct BitmapFont { this : RawObject < Self > , } impl BitmapFont { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = BitmapFontMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a character to the font, where `character` is the Unicode value, `texture` is the texture index, `rect` is the region in the texture (in pixels!), `align` is the (optional) alignment for the character and `advance` is the (optional) advance.\n# Default Arguments\n* `align` - `Vector2( 0, 0 )`\n* `advance` - `-1`"] # [doc = ""] # [inline] pub fn add_char (& self , character : i64 , texture : i64 , rect : Rect2 , align : Vector2 , advance : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . add_char ; let ret = crate :: icalls :: icallptr_void_i64_i64_rect2_vec2_f64 (method_bind , self . this . sys () . as_ptr () , character , texture , rect , align , advance) ; } } # [doc = "Adds a kerning pair to the [BitmapFont] as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character."] # [doc = ""] # [inline] pub fn add_kerning_pair (& self , char_a : i64 , char_b : i64 , kerning : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . add_kerning_pair ; let ret = crate :: icalls :: icallptr_void_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , char_a , char_b , kerning) ; } } # [doc = "Adds a texture to the [BitmapFont]."] # [doc = ""] # [inline] pub fn add_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . add_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "Clears all the font data and settings."] # [doc = ""] # [inline] pub fn clear (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Creates a BitmapFont from the `*.fnt` file at `path`."] # [doc = ""] # [inline] pub fn create_from_fnt (& self , path : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . create_from_fnt ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , path . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "The fallback font."] # [doc = ""] # [inline] pub fn fallback (& self) -> Option < Ref < crate :: generated :: bitmap_font :: BitmapFont , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . get_fallback ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: bitmap_font :: BitmapFont , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns a kerning pair as a difference."] # [doc = ""] # [inline] pub fn get_kerning_pair (& self , char_a : i64 , char_b : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . get_kerning_pair ; let ret = crate :: icalls :: icallptr_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , char_a , char_b) ; ret as _ } } # [doc = "Returns the font atlas texture at index `idx`."] # [doc = ""] # [inline] pub fn get_texture (& self , idx : i64) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of textures in the BitmapFont atlas."] # [doc = ""] # [inline] pub fn get_texture_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . get_texture_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Ascent (number of pixels above the baseline)."] # [doc = ""] # [inline] pub fn set_ascent (& self , px : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . set_ascent ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , px) ; } } # [doc = "If `true`, distance field hint is enabled."] # [doc = ""] # [inline] pub fn set_distance_field_hint (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . set_distance_field_hint ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The fallback font."] # [doc = ""] # [inline] pub fn set_fallback (& self , fallback : impl AsArg < crate :: generated :: bitmap_font :: BitmapFont >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . set_fallback ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , fallback . as_arg_ptr ()) ; } } # [doc = "Total font height (ascent plus descent) in pixels."] # [doc = ""] # [inline] pub fn set_height (& self , px : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitmapFontMethodTable :: get (get_api ()) . set_height ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , px) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for BitmapFont { } unsafe impl GodotObject for BitmapFont { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "BitmapFont" } } impl std :: ops :: Deref for BitmapFont { type Target = crate :: generated :: font :: Font ; # [inline] fn deref (& self) -> & crate :: generated :: font :: Font { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for BitmapFont { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: font :: Font { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: font :: Font > for BitmapFont { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for BitmapFont { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for BitmapFont { } unsafe impl SubClass < crate :: generated :: object :: Object > for BitmapFont { } impl Instanciable for BitmapFont { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { BitmapFont :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct BitmapFontMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_char : * mut sys :: godot_method_bind , pub add_kerning_pair : * mut sys :: godot_method_bind , pub add_texture : * mut sys :: godot_method_bind , pub clear : * mut sys :: godot_method_bind , pub create_from_fnt : * mut sys :: godot_method_bind , pub get_fallback : * mut sys :: godot_method_bind , pub get_kerning_pair : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub get_texture_count : * mut sys :: godot_method_bind , pub set_ascent : * mut sys :: godot_method_bind , pub set_distance_field_hint : * mut sys :: godot_method_bind , pub set_fallback : * mut sys :: godot_method_bind , pub set_height : * mut sys :: godot_method_bind } impl BitmapFontMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : BitmapFontMethodTable = BitmapFontMethodTable { class_constructor : None , add_char : 0 as * mut sys :: godot_method_bind , add_kerning_pair : 0 as * mut sys :: godot_method_bind , add_texture : 0 as * mut sys :: godot_method_bind , clear : 0 as * mut sys :: godot_method_bind , create_from_fnt : 0 as * mut sys :: godot_method_bind , get_fallback : 0 as * mut sys :: godot_method_bind , get_kerning_pair : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , get_texture_count : 0 as * mut sys :: godot_method_bind , set_ascent : 0 as * mut sys :: godot_method_bind , set_distance_field_hint : 0 as * mut sys :: godot_method_bind , set_fallback : 0 as * mut sys :: godot_method_bind , set_height : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { BitmapFontMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "BitmapFont\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_char = (gd_api . godot_method_bind_get_method) (class_name , "add_char\0" . as_ptr () as * const c_char) ; table . add_kerning_pair = (gd_api . godot_method_bind_get_method) (class_name , "add_kerning_pair\0" . as_ptr () as * const c_char) ; table . add_texture = (gd_api . godot_method_bind_get_method) (class_name , "add_texture\0" . as_ptr () as * const c_char) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . create_from_fnt = (gd_api . godot_method_bind_get_method) (class_name , "create_from_fnt\0" . as_ptr () as * const c_char) ; table . get_fallback = (gd_api . godot_method_bind_get_method) (class_name , "get_fallback\0" . as_ptr () as * const c_char) ; table . get_kerning_pair = (gd_api . godot_method_bind_get_method) (class_name , "get_kerning_pair\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . get_texture_count = (gd_api . godot_method_bind_get_method) (class_name , "get_texture_count\0" . as_ptr () as * const c_char) ; table . set_ascent = (gd_api . godot_method_bind_get_method) (class_name , "set_ascent\0" . as_ptr () as * const c_char) ; table . set_distance_field_hint = (gd_api . godot_method_bind_get_method) (class_name , "set_distance_field_hint\0" . as_ptr () as * const c_char) ; table . set_fallback = (gd_api . godot_method_bind_get_method) (class_name , "set_fallback\0" . as_ptr () as * const c_char) ; table . set_height = (gd_api . godot_method_bind_get_method) (class_name , "set_height\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1120:1470
[INFO] [stdout]      |
[INFO] [stdout] 1120 | ..._case_types)] # [derive (Debug)] pub struct EditorImportPlugin { this : RawObject < Self > , } impl EditorImportPlugin { } impl...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorImportPlugin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1168:1874
[INFO] [stdout]      |
[INFO] [stdout] 1168 | ...amel_case_types)] # [derive (Debug)] pub struct ToolButton { this : RawObject < Self > , } impl ToolButton { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ToolButton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1204:1498
[INFO] [stdout]      |
[INFO] [stdout] 1204 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeScalarSmoothStep { this : RawObject < Self > , } impl VisualShaderNodeScal...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarSmoothStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:616:9608
[INFO] [stdout]     |
[INFO] [stdout] 616 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 # [doc = "`core class AnimatedSprite3D` inherits `SpriteBase3D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animatedsprite3d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`AnimatedSprite3D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<AnimatedSprite3D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nAnimatedSprite3D inherits methods from:\n - [SpriteBase3D](struct.SpriteBase3D.html)\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimatedSprite3D { this : RawObject < Self > , } impl AnimatedSprite3D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimatedSprite3DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The current animation from the `frames` resource. If this value changes, the `frame` counter is reset."] # [doc = ""] # [inline] pub fn animation (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . get_animation ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "The displayed animation frame's index."] # [doc = ""] # [inline] pub fn frame (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . get_frame ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The [SpriteFrames] resource containing the animation(s)."] # [doc = ""] # [inline] pub fn sprite_frames (& self) -> Option < Ref < crate :: generated :: sprite_frames :: SpriteFrames , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . get_sprite_frames ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: sprite_frames :: SpriteFrames , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns `true` if an animation is currently being played."] # [doc = ""] # [inline] pub fn is_playing (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . is_playing ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Plays the animation named `anim`. If no `anim` is provided, the current animation is played.\n# Default Arguments\n* `anim` - `\"\"`"] # [doc = ""] # [inline] pub fn play (& self , anim : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . play ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , anim . into ()) ; } } # [doc = "The current animation from the `frames` resource. If this value changes, the `frame` counter is reset."] # [doc = ""] # [inline] pub fn set_animation (& self , animation : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . set_animation ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , animation . into ()) ; } } # [doc = "The displayed animation frame's index."] # [doc = ""] # [inline] pub fn set_frame (& self , frame : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . set_frame ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , frame) ; } } # [doc = "The [SpriteFrames] resource containing the animation(s)."] # [doc = ""] # [inline] pub fn set_sprite_frames (& self , sprite_frames : impl AsArg < crate :: generated :: sprite_frames :: SpriteFrames >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . set_sprite_frames ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , sprite_frames . as_arg_ptr ()) ; } } # [doc = "Stops the current animation (does not reset the frame counter)."] # [doc = ""] # [inline] pub fn stop (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimatedSprite3DMethodTable :: get (get_api ()) . stop ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimatedSprite3D { } unsafe impl GodotObject for AnimatedSprite3D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "AnimatedSprite3D" } } impl QueueFree for AnimatedSprite3D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for AnimatedSprite3D { type Target = crate :: generated :: sprite_base_3d :: SpriteBase3D ; # [inline] fn deref (& self) -> & crate :: generated :: sprite_base_3d :: SpriteBase3D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimatedSprite3D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: sprite_base_3d :: SpriteBase3D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: sprite_base_3d :: SpriteBase3D > for AnimatedSprite3D { } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for AnimatedSprite3D { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for AnimatedSprite3D { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for AnimatedSprite3D { } unsafe impl SubClass < crate :: generated :: node :: Node > for AnimatedSprite3D { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimatedSprite3D { } impl Instanciable for AnimatedSprite3D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimatedSprite3D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimatedSprite3DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_animation : * mut sys :: godot_method_bind , pub get_frame : * mut sys :: godot_method_bind , pub get_sprite_frames : * mut sys :: godot_method_bind , pub is_playing : * mut sys :: godot_method_bind , pub play : * mut sys :: godot_method_bind , pub set_animation : * mut sys :: godot_method_bind , pub set_frame : * mut sys :: godot_method_bind , pub set_sprite_frames : * mut sys :: godot_method_bind , pub stop : * mut sys :: godot_method_bind } impl AnimatedSprite3DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimatedSprite3DMethodTable = AnimatedSprite3DMethodTable { class_constructor : None , get_animation : 0 as * mut sys :: godot_method_bind , get_frame : 0 as * mut sys :: godot_method_bind , get_sprite_frames : 0 as * mut sys :: godot_method_bind , is_playing : 0 as * mut sys :: godot_method_bind , play : 0 as * mut sys :: godot_method_bind , set_animation : 0 as * mut sys :: godot_method_bind , set_frame : 0 as * mut sys :: godot_method_bind , set_sprite_frames : 0 as * mut sys :: godot_method_bind , stop : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimatedSprite3DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimatedSprite3D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_animation = (gd_api . godot_method_bind_get_method) (class_name , "get_animation\0" . as_ptr () as * const c_char) ; table . get_frame = (gd_api . godot_method_bind_get_method) (class_name , "get_frame\0" . as_ptr () as * const c_char) ; table . get_sprite_frames = (gd_api . godot_method_bind_get_method) (class_name , "get_sprite_frames\0" . as_ptr () as * const c_char) ; table . is_playing = (gd_api . godot_method_bind_get_method) (class_name , "is_playing\0" . as_ptr () as * const c_char) ; table . play = (gd_api . godot_method_bind_get_method) (class_name , "play\0" . as_ptr () as * const c_char) ; table . set_animation = (gd_api . godot_method_bind_get_method) (class_name , "set_animation\0" . as_ptr () as * const c_char) ; table . set_frame = (gd_api . godot_method_bind_get_method) (class_name , "set_frame\0" . as_ptr () as * const c_char) ; table . set_sprite_frames = (gd_api . godot_method_bind_get_method) (class_name , "set_sprite_frames\0" . as_ptr () as * const c_char) ; table . stop = (gd_api . godot_method_bind_get_method) (class_name , "stop\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1216:1458
[INFO] [stdout]      |
[INFO] [stdout] 1216 | ...ase_types)] # [derive (Debug)] pub struct VisualScriptCustomNode { this : RawObject < Self > , } # [derive (Copy , Clone , Debu...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptCustomNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:622:3579
[INFO] [stdout]     |
[INFO] [stdout] 622 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 # [doc = "`core class AnimationNodeOutput` inherits `AnimationNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnodeoutput.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNodeOutput inherits methods from:\n - [AnimationNode](struct.AnimationNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNodeOutput { this : RawObject < Self > , } impl AnimationNodeOutput { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeOutputMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNodeOutput { } unsafe impl GodotObject for AnimationNodeOutput { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNodeOutput" } } impl std :: ops :: Deref for AnimationNodeOutput { type Target = crate :: generated :: animation_node :: AnimationNode ; # [inline] fn deref (& self) -> & crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNodeOutput { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: animation_node :: AnimationNode > for AnimationNodeOutput { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNodeOutput { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNodeOutput { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNodeOutput { } impl Instanciable for AnimationNodeOutput { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNodeOutput :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeOutputMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AnimationNodeOutputMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeOutputMethodTable = AnimationNodeOutputMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeOutputMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNodeOutput\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1222:1434
[INFO] [stdout]      |
[INFO] [stdout] 1222 | ...l_case_types)] # [derive (Debug)] pub struct VisualScriptSelf { this : RawObject < Self > , } impl VisualScriptSelf { # [doc = ...
[INFO] [stdout]      |                                                 ----------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptSelf` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1252:1458
[INFO] [stdout]      |
[INFO] [stdout] 1252 | ...types)] # [derive (Debug)] pub struct EditorResourceConversionPlugin { this : RawObject < Self > , } impl EditorResourceConvers...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorResourceConversionPlugin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1258:1522
[INFO] [stdout]      |
[INFO] [stdout] 1258 | ...se_types)] # [derive (Debug)] pub struct VisualScriptComposeArray { this : RawObject < Self > , } impl VisualScriptComposeArray...
[INFO] [stdout]      |                                             ------------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptComposeArray` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1306:1478
[INFO] [stdout]      |
[INFO] [stdout] 1306 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeFaceForward { this : RawObject < Self > , } impl VisualShaderNodeFaceFor...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeFaceForward` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1330:1458
[INFO] [stdout]      |
[INFO] [stdout] 1330 | ...types)] # [derive (Debug)] pub struct EditorResourcePreviewGenerator { this : RawObject < Self > , } impl EditorResourcePreview...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorResourcePreviewGenerator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1390:1408
[INFO] [stdout]      |
[INFO] [stdout] 1390 | ...ase_types)] # [derive (Debug)] pub struct ARVRInterfaceGDNative { this : RawObject < Self > , } impl ARVRInterfaceGDNative { # ...
[INFO] [stdout]      |                                              ---------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ARVRInterfaceGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1402:1449
[INFO] [stdout]      |
[INFO] [stdout] 1402 | ...ase_types)] # [derive (Debug)] pub struct AnimationNodeTimeScale { this : RawObject < Self > , } impl AnimationNodeTimeScale { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AnimationNodeTimeScale` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1414:1836
[INFO] [stdout]      |
[INFO] [stdout] 1414 | ...mel_case_types)] # [derive (Debug)] pub struct PopupDialog { this : RawObject < Self > , } impl PopupDialog { # [doc = "Creates...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PopupDialog` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1426:1365
[INFO] [stdout]      |
[INFO] [stdout] 1426 | ...el_case_types)] # [derive (Debug)] pub struct RichTextEffect { this : RawObject < Self > , } impl RichTextEffect { # [doc = "Cr...
[INFO] [stdout]      |                                                  --------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RichTextEffect` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1432:1438
[INFO] [stdout]      |
[INFO] [stdout] 1432 | ..._case_types)] # [derive (Debug)] pub struct VisualScriptWhile { this : RawObject < Self > , } impl VisualScriptWhile { # [doc =...
[INFO] [stdout]      |                                                -----------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptWhile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1438:1412
[INFO] [stdout]      |
[INFO] [stdout] 1438 | ...mel_case_types)] # [derive (Debug)] pub struct TextureArray { this : RawObject < Self > , } impl TextureArray { # [doc = "Creat...
[INFO] [stdout]      |                                                   ------------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TextureArray` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:628:21553
[INFO] [stdout]     |
[INFO] [stdout] 628 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 628 |                 # [doc = "`core class Curve3D` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_curve3d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nCurve3D inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Curve3D { this : RawObject < Self > , } impl Curve3D { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Curve3DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a point to a curve at `position`, with control points `in` and `out`.\nIf `at_position` is given, the point is inserted before the point number `at_position`, moving that point (and every point after) after the inserted point. If `at_position` is not given, or is an illegal value (`at_position <0` or `at_position >= [method get_point_count]`), the point will be appended at the end of the point list.\n# Default Arguments\n* `in` - `Vector3( 0, 0, 0 )`\n* `out` - `Vector3( 0, 0, 0 )`\n* `at_position` - `-1`"] # [doc = ""] # [inline] pub fn add_point (& self , position : Vector3 , _in : Vector3 , out : Vector3 , at_position : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . add_point ; let ret = crate :: icalls :: icallptr_void_vec3_vec3_vec3_i64 (method_bind , self . this . sys () . as_ptr () , position , _in , out , at_position) ; } } # [doc = "Removes all points from the curve."] # [doc = ""] # [inline] pub fn clear_points (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . clear_points ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "The distance in meters between two adjacent cached points. Changing it forces the cache to be recomputed the next time the [method get_baked_points] or [method get_baked_length] function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care."] # [doc = ""] # [inline] pub fn bake_interval (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_bake_interval ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the total length of the curve, based on the cached points. Given enough density (see [member bake_interval]), it should be approximate enough."] # [doc = ""] # [inline] pub fn get_baked_length (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_baked_length ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the cache of points as a [PoolVector3Array]."] # [doc = ""] # [inline] pub fn get_baked_points (& self) -> Vector3Array { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_baked_points ; let ret = crate :: icalls :: icallptr_vec3arr (method_bind , self . this . sys () . as_ptr ()) ; Vector3Array :: from_sys (ret) } } # [doc = "Returns the cache of tilts as a [PoolRealArray]."] # [doc = ""] # [inline] pub fn get_baked_tilts (& self) -> Float32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_baked_tilts ; let ret = crate :: icalls :: icallptr_f32arr (method_bind , self . this . sys () . as_ptr ()) ; Float32Array :: from_sys (ret) } } # [doc = "Returns the cache of up vectors as a [PoolVector3Array].\nIf [member up_vector_enabled] is `false`, the cache will be empty."] # [doc = ""] # [inline] pub fn get_baked_up_vectors (& self) -> Vector3Array { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_baked_up_vectors ; let ret = crate :: icalls :: icallptr_vec3arr (method_bind , self . this . sys () . as_ptr ()) ; Vector3Array :: from_sys (ret) } } # [doc = "Returns the closest offset to `to_point`. This offset is meant to be used in [method interpolate_baked] or [method interpolate_baked_up_vector].\n`to_point` must be in this curve's local space."] # [doc = ""] # [inline] pub fn get_closest_offset (& self , to_point : Vector3) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_closest_offset ; let ret = crate :: icalls :: icallptr_f64_vec3 (method_bind , self . this . sys () . as_ptr () , to_point) ; ret as _ } } # [doc = "Returns the closest point (in curve's local space) to `to_point`.\n`to_point` must be in this curve's local space."] # [doc = ""] # [inline] pub fn get_closest_point (& self , to_point : Vector3) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_closest_point ; let ret = crate :: icalls :: icallptr_vec3_vec3 (method_bind , self . this . sys () . as_ptr () , to_point) ; mem :: transmute (ret) } } # [doc = "Returns the number of points describing the curve."] # [doc = ""] # [inline] pub fn get_point_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_point_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the position of the control point leading to the vertex `idx`. If the index is out of bounds, the function sends an error to the console, and returns `(0, 0, 0)`."] # [doc = ""] # [inline] pub fn get_point_in (& self , idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_point_in ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the position of the control point leading out of the vertex `idx`. If the index is out of bounds, the function sends an error to the console, and returns `(0, 0, 0)`."] # [doc = ""] # [inline] pub fn get_point_out (& self , idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_point_out ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the position of the vertex `idx`. If the index is out of bounds, the function sends an error to the console, and returns `(0, 0, 0)`."] # [doc = ""] # [inline] pub fn get_point_position (& self , idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_point_position ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the tilt angle in radians for the point `idx`. If the index is out of bounds, the function sends an error to the console, and returns `0`."] # [doc = ""] # [inline] pub fn get_point_tilt (& self , idx : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . get_point_tilt ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ret as _ } } # [doc = "Returns the position between the vertex `idx` and the vertex `idx + 1`, where `t` controls if the point is the first vertex (`t = 0.0`), the last vertex (`t = 1.0`), or in between. Values of `t` outside the range (`0.0 >= t <=1`) give strange, but predictable results.\nIf `idx` is out of bounds it is truncated to the first or last vertex, and `t` is ignored. If the curve has no points, the function sends an error to the console, and returns `(0, 0, 0)`."] # [doc = ""] # [inline] pub fn interpolate (& self , idx : i64 , t : f64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . interpolate ; let ret = crate :: icalls :: icallptr_vec3_i64_f64 (method_bind , self . this . sys () . as_ptr () , idx , t) ; mem :: transmute (ret) } } # [doc = "Returns a point within the curve at position `offset`, where `offset` is measured as a pixel distance along the curve.\nTo do that, it finds the two cached points where the `offset` lies between, then interpolates the values. This interpolation is cubic if `cubic` is set to `true`, or linear if set to `false`.\nCubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough).\n# Default Arguments\n* `cubic` - `false`"] # [doc = ""] # [inline] pub fn interpolate_baked (& self , offset : f64 , cubic : bool) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . interpolate_baked ; let ret = crate :: icalls :: icallptr_vec3_f64_bool (method_bind , self . this . sys () . as_ptr () , offset , cubic) ; mem :: transmute (ret) } } # [doc = "Returns an up vector within the curve at position `offset`, where `offset` is measured as a distance in 3D units along the curve.\nTo do that, it finds the two cached up vectors where the `offset` lies between, then interpolates the values. If `apply_tilt` is `true`, an interpolated tilt is applied to the interpolated up vector.\nIf the curve has no up vectors, the function sends an error to the console, and returns `(0, 1, 0)`.\n# Default Arguments\n* `apply_tilt` - `false`"] # [doc = ""] # [inline] pub fn interpolate_baked_up_vector (& self , offset : f64 , apply_tilt : bool) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . interpolate_baked_up_vector ; let ret = crate :: icalls :: icallptr_vec3_f64_bool (method_bind , self . this . sys () . as_ptr () , offset , apply_tilt) ; mem :: transmute (ret) } } # [doc = "Returns the position at the vertex `fofs`. It calls [method interpolate] using the integer part of `fofs` as `idx`, and its fractional part as `t`."] # [doc = ""] # [inline] pub fn interpolatef (& self , fofs : f64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . interpolatef ; let ret = crate :: icalls :: icallptr_vec3_f64 (method_bind , self . this . sys () . as_ptr () , fofs) ; mem :: transmute (ret) } } # [doc = "If `true`, the curve will bake up vectors used for orientation. This is used when [member PathFollow.rotation_mode] is set to [constant PathFollow.ROTATION_ORIENTED]. Changing it forces the cache to be recomputed."] # [doc = ""] # [inline] pub fn is_up_vector_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . is_up_vector_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Deletes the point `idx` from the curve. Sends an error to the console if `idx` is out of bounds."] # [doc = ""] # [inline] pub fn remove_point (& self , idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . remove_point ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; } } # [doc = "The distance in meters between two adjacent cached points. Changing it forces the cache to be recomputed the next time the [method get_baked_points] or [method get_baked_length] function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care."] # [doc = ""] # [inline] pub fn set_bake_interval (& self , distance : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . set_bake_interval ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , distance) ; } } # [doc = "Sets the position of the control point leading to the vertex `idx`. If the index is out of bounds, the function sends an error to the console."] # [doc = ""] # [inline] pub fn set_point_in (& self , idx : i64 , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . set_point_in ; let ret = crate :: icalls :: icallptr_void_i64_vec3 (method_bind , self . this . sys () . as_ptr () , idx , position) ; } } # [doc = "Sets the position of the control point leading out of the vertex `idx`. If the index is out of bounds, the function sends an error to the console."] # [doc = ""] # [inline] pub fn set_point_out (& self , idx : i64 , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . set_point_out ; let ret = crate :: icalls :: icallptr_void_i64_vec3 (method_bind , self . this . sys () . as_ptr () , idx , position) ; } } # [doc = "Sets the position for the vertex `idx`. If the index is out of bounds, the function sends an error to the console."] # [doc = ""] # [inline] pub fn set_point_position (& self , idx : i64 , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . set_point_position ; let ret = crate :: icalls :: icallptr_void_i64_vec3 (method_bind , self . this . sys () . as_ptr () , idx , position) ; } } # [doc = "Sets the tilt angle in radians for the point `idx`. If the index is out of bounds, the function sends an error to the console.\nThe tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a [PathFollow], this tilt is an offset over the natural tilt the [PathFollow] calculates."] # [doc = ""] # [inline] pub fn set_point_tilt (& self , idx : i64 , tilt : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . set_point_tilt ; let ret = crate :: icalls :: icallptr_void_i64_f64 (method_bind , self . this . sys () . as_ptr () , idx , tilt) ; } } # [doc = "If `true`, the curve will bake up vectors used for orientation. This is used when [member PathFollow.rotation_mode] is set to [constant PathFollow.ROTATION_ORIENTED]. Changing it forces the cache to be recomputed."] # [doc = ""] # [inline] pub fn set_up_vector_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . set_up_vector_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Returns a list of points along the curve, with a curvature controlled point density. That is, the curvier parts will have more points than the straighter parts.\nThis approximation makes straight segments between each point, then subdivides those segments until the resulting shape is similar enough.\n`max_stages` controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!\n`tolerance_degrees` controls how many degrees the midpoint of a segment may deviate from the real curve, before the segment has to be subdivided.\n# Default Arguments\n* `max_stages` - `5`\n* `tolerance_degrees` - `4`"] # [doc = ""] # [inline] pub fn tessellate (& self , max_stages : i64 , tolerance_degrees : f64) -> Vector3Array { unsafe { let method_bind : * mut sys :: godot_method_bind = Curve3DMethodTable :: get (get_api ()) . tessellate ; let ret = crate :: icalls :: icallptr_vec3arr_i64_f64 (method_bind , self . this . sys () . as_ptr () , max_stages , tolerance_degrees) ; Vector3Array :: from_sys (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for Curve3D { } unsafe impl GodotObject for Curve3D { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Curve3D" } } impl std :: ops :: Deref for Curve3D { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Curve3D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for Curve3D { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Curve3D { } unsafe impl SubClass < crate :: generated :: object :: Object > for Curve3D { } impl Instanciable for Curve3D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Curve3D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Curve3DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_point : * mut sys :: godot_method_bind , pub clear_points : * mut sys :: godot_method_bind , pub get_bake_interval : * mut sys :: godot_method_bind , pub get_baked_length : * mut sys :: godot_method_bind , pub get_baked_points : * mut sys :: godot_method_bind , pub get_baked_tilts : * mut sys :: godot_method_bind , pub get_baked_up_vectors : * mut sys :: godot_method_bind , pub get_closest_offset : * mut sys :: godot_method_bind , pub get_closest_point : * mut sys :: godot_method_bind , pub get_point_count : * mut sys :: godot_method_bind , pub get_point_in : * mut sys :: godot_method_bind , pub get_point_out : * mut sys :: godot_method_bind , pub get_point_position : * mut sys :: godot_method_bind , pub get_point_tilt : * mut sys :: godot_method_bind , pub interpolate : * mut sys :: godot_method_bind , pub interpolate_baked : * mut sys :: godot_method_bind , pub interpolate_baked_up_vector : * mut sys :: godot_method_bind , pub interpolatef : * mut sys :: godot_method_bind , pub is_up_vector_enabled : * mut sys :: godot_method_bind , pub remove_point : * mut sys :: godot_method_bind , pub set_bake_interval : * mut sys :: godot_method_bind , pub set_point_in : * mut sys :: godot_method_bind , pub set_point_out : * mut sys :: godot_method_bind , pub set_point_position : * mut sys :: godot_method_bind , pub set_point_tilt : * mut sys :: godot_method_bind , pub set_up_vector_enabled : * mut sys :: godot_method_bind , pub tessellate : * mut sys :: godot_method_bind } impl Curve3DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Curve3DMethodTable = Curve3DMethodTable { class_constructor : None , add_point : 0 as * mut sys :: godot_method_bind , clear_points : 0 as * mut sys :: godot_method_bind , get_bake_interval : 0 as * mut sys :: godot_method_bind , get_baked_length : 0 as * mut sys :: godot_method_bind , get_baked_points : 0 as * mut sys :: godot_method_bind , get_baked_tilts : 0 as * mut sys :: godot_method_bind , get_baked_up_vectors : 0 as * mut sys :: godot_method_bind , get_closest_offset : 0 as * mut sys :: godot_method_bind , get_closest_point : 0 as * mut sys :: godot_method_bind , get_point_count : 0 as * mut sys :: godot_method_bind , get_point_in : 0 as * mut sys :: godot_method_bind , get_point_out : 0 as * mut sys :: godot_method_bind , get_point_position : 0 as * mut sys :: godot_method_bind , get_point_tilt : 0 as * mut sys :: godot_method_bind , interpolate : 0 as * mut sys :: godot_method_bind , interpolate_baked : 0 as * mut sys :: godot_method_bind , interpolate_baked_up_vector : 0 as * mut sys :: godot_method_bind , interpolatef : 0 as * mut sys :: godot_method_bind , is_up_vector_enabled : 0 as * mut sys :: godot_method_bind , remove_point : 0 as * mut sys :: godot_method_bind , set_bake_interval : 0 as * mut sys :: godot_method_bind , set_point_in : 0 as * mut sys :: godot_method_bind , set_point_out : 0 as * mut sys :: godot_method_bind , set_point_position : 0 as * mut sys :: godot_method_bind , set_point_tilt : 0 as * mut sys :: godot_method_bind , set_up_vector_enabled : 0 as * mut sys :: godot_method_bind , tessellate : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Curve3DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Curve3D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_point = (gd_api . godot_method_bind_get_method) (class_name , "add_point\0" . as_ptr () as * const c_char) ; table . clear_points = (gd_api . godot_method_bind_get_method) (class_name , "clear_points\0" . as_ptr () as * const c_char) ; table . get_bake_interval = (gd_api . godot_method_bind_get_method) (class_name , "get_bake_interval\0" . as_ptr () as * const c_char) ; table . get_baked_length = (gd_api . godot_method_bind_get_method) (class_name , "get_baked_length\0" . as_ptr () as * const c_char) ; table . get_baked_points = (gd_api . godot_method_bind_get_method) (class_name , "get_baked_points\0" . as_ptr () as * const c_char) ; table . get_baked_tilts = (gd_api . godot_method_bind_get_method) (class_name , "get_baked_tilts\0" . as_ptr () as * const c_char) ; table . get_baked_up_vectors = (gd_api . godot_method_bind_get_method) (class_name , "get_baked_up_vectors\0" . as_ptr () as * const c_char) ; table . get_closest_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_closest_offset\0" . as_ptr () as * const c_char) ; table . get_closest_point = (gd_api . godot_method_bind_get_method) (class_name , "get_closest_point\0" . as_ptr () as * const c_char) ; table . get_point_count = (gd_api . godot_method_bind_get_method) (class_name , "get_point_count\0" . as_ptr () as * const c_char) ; table . get_point_in = (gd_api . godot_method_bind_get_method) (class_name , "get_point_in\0" . as_ptr () as * const c_char) ; table . get_point_out = (gd_api . godot_method_bind_get_method) (class_name , "get_point_out\0" . as_ptr () as * const c_char) ; table . get_point_position = (gd_api . godot_method_bind_get_method) (class_name , "get_point_position\0" . as_ptr () as * const c_char) ; table . get_point_tilt = (gd_api . godot_method_bind_get_method) (class_name , "get_point_tilt\0" . as_ptr () as * const c_char) ; table . interpolate = (gd_api . godot_method_bind_get_method) (class_name , "interpolate\0" . as_ptr () as * const c_char) ; table . interpolate_baked = (gd_api . godot_method_bind_get_method) (class_name , "interpolate_baked\0" . as_ptr () as * const c_char) ; table . interpolate_baked_up_vector = (gd_api . godot_method_bind_get_method) (class_name , "interpolate_baked_up_vector\0" . as_ptr () as * const c_char) ; table . interpolatef = (gd_api . godot_method_bind_get_method) (class_name , "interpolatef\0" . as_ptr () as * const c_char) ; table . is_up_vector_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_up_vector_enabled\0" . as_ptr () as * const c_char) ; table . remove_point = (gd_api . godot_method_bind_get_method) (class_name , "remove_point\0" . as_ptr () as * const c_char) ; table . set_bake_interval = (gd_api . godot_method_bind_get_method) (class_name , "set_bake_interval\0" . as_ptr () as * const c_char) ; table . set_point_in = (gd_api . godot_method_bind_get_method) (class_name , "set_point_in\0" . as_ptr () as * const c_char) ; table . set_point_out = (gd_api . godot_method_bind_get_method) (class_name , "set_point_out\0" . as_ptr () as * const c_char) ; table . set_point_position = (gd_api . godot_method_bind_get_method) (class_name , "set_point_position\0" . as_ptr () as * const c_char) ; table . set_point_tilt = (gd_api . godot_method_bind_get_method) (class_name , "set_point_tilt\0" . as_ptr () as * const c_char) ; table . set_up_vector_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_up_vector_enabled\0" . as_ptr () as * const c_char) ; table . tessellate = (gd_api . godot_method_bind_get_method) (class_name , "tessellate\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1444:1450
[INFO] [stdout]      |
[INFO] [stdout] 1444 | ...case_types)] # [derive (Debug)] pub struct VisualScriptIndexSet { this : RawObject < Self > , } impl VisualScriptIndexSet { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptIndexSet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1450:1478
[INFO] [stdout]      |
[INFO] [stdout] 1450 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeDeterminant { this : RawObject < Self > , } impl VisualShaderNodeDetermi...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeDeterminant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1462:1520
[INFO] [stdout]      |
[INFO] [stdout] 1462 | ...e_types)] # [derive (Debug)] pub struct AudioEffectHighShelfFilter { this : RawObject < Self > , } impl AudioEffectHighShelfFil...
[INFO] [stdout]      |                                            --------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectHighShelfFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1468:1495
[INFO] [stdout]      |
[INFO] [stdout] 1468 | ...ase_types)] # [derive (Debug)] pub struct EditorSceneImporterFBX { this : RawObject < Self > , } impl EditorSceneImporterFBX { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `EditorSceneImporterFBX` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:634:5981
[INFO] [stdout]     |
[INFO] [stdout] 634 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 634 |                 # [doc = "`core class Material` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_material.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nMaterial inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Material { this : RawObject < Self > , } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Material { pub const RENDER_PRIORITY_MAX : i64 = 127i64 ; pub const RENDER_PRIORITY_MIN : i64 = - 128i64 ; } impl Material { # [doc = "Sets the [Material] to be used for the next pass. This renders the object again using a different material.\n**Note:** only applies to [SpatialMaterial]s and [ShaderMaterial]s with type \"Spatial\"."] # [doc = ""] # [inline] pub fn next_pass (& self) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MaterialMethodTable :: get (get_api ()) . get_next_pass ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.\n**Note:** this only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority)."] # [doc = ""] # [inline] pub fn render_priority (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MaterialMethodTable :: get (get_api ()) . get_render_priority ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Sets the [Material] to be used for the next pass. This renders the object again using a different material.\n**Note:** only applies to [SpatialMaterial]s and [ShaderMaterial]s with type \"Spatial\"."] # [doc = ""] # [inline] pub fn set_next_pass (& self , next_pass : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MaterialMethodTable :: get (get_api ()) . set_next_pass ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , next_pass . as_arg_ptr ()) ; } } # [doc = "Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.\n**Note:** this only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority)."] # [doc = ""] # [inline] pub fn set_render_priority (& self , priority : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MaterialMethodTable :: get (get_api ()) . set_render_priority ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , priority) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Material { } unsafe impl GodotObject for Material { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Material" } } impl std :: ops :: Deref for Material { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Material { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for Material { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Material { } unsafe impl SubClass < crate :: generated :: object :: Object > for Material { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MaterialMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_next_pass : * mut sys :: godot_method_bind , pub get_render_priority : * mut sys :: godot_method_bind , pub set_next_pass : * mut sys :: godot_method_bind , pub set_render_priority : * mut sys :: godot_method_bind } impl MaterialMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MaterialMethodTable = MaterialMethodTable { class_constructor : None , get_next_pass : 0 as * mut sys :: godot_method_bind , get_render_priority : 0 as * mut sys :: godot_method_bind , set_next_pass : 0 as * mut sys :: godot_method_bind , set_render_priority : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MaterialMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Material\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_next_pass = (gd_api . godot_method_bind_get_method) (class_name , "get_next_pass\0" . as_ptr () as * const c_char) ; table . get_render_priority = (gd_api . godot_method_bind_get_method) (class_name , "get_render_priority\0" . as_ptr () as * const c_char) ; table . set_next_pass = (gd_api . godot_method_bind_get_method) (class_name , "set_next_pass\0" . as_ptr () as * const c_char) ; table . set_render_priority = (gd_api . godot_method_bind_get_method) (class_name , "set_render_priority\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1480:1341
[INFO] [stdout]      |
[INFO] [stdout] 1480 | ...camel_case_types)] # [derive (Debug)] pub struct TextFile { this : RawObject < Self > , } impl TextFile { # [doc = "Creates a n...
[INFO] [stdout]      |                                                     --------   ^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TextFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1504:1560
[INFO] [stdout]      |
[INFO] [stdout] 1504 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeScalarUniform { this : RawObject < Self > , } impl VisualShaderNodeScalar...
[INFO] [stdout]      |                                          -----------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1528:1387
[INFO] [stdout]      |
[INFO] [stdout] 1528 | ..._case_types)] # [derive (Debug)] pub struct PacketPeerGDNative { this : RawObject < Self > , } impl PacketPeerGDNative { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PacketPeerGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1576:1522
[INFO] [stdout]      |
[INFO] [stdout] 1576 | ...s)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarSmoothStep { this : RawObject < Self > , } impl VisualShaderNodeV...
[INFO] [stdout]      |                                      --------------------------------------   ^^^^
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorScalarSmoothStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1672:1688
[INFO] [stdout]      |
[INFO] [stdout] 1672 | ...)] # [derive (Debug)] pub struct VisualShaderNodeTextureUniformTriplanar { this : RawObject < Self > , } impl VisualShaderNodeT...
[INFO] [stdout]      |                                     ---------------------------------------   ^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeTextureUniformTriplanar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1684:1186
[INFO] [stdout]      |
[INFO] [stdout] 1684 | ...l_case_types)] # [derive (Debug)] pub struct GlobalConstants { this : RawObject < Self > , } # [doc = "Constants"] # [allow (no...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `GlobalConstants` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:640:13346
[INFO] [stdout]     |
[INFO] [stdout] 640 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 640 |                 # [doc = "`core class XMLParser` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_xmlparser.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nXMLParser inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct XMLParser { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct NodeType (pub i64) ; impl NodeType { pub const NONE : NodeType = NodeType (0i64) ; pub const ELEMENT : NodeType = NodeType (1i64) ; pub const ELEMENT_END : NodeType = NodeType (2i64) ; pub const TEXT : NodeType = NodeType (3i64) ; pub const COMMENT : NodeType = NodeType (4i64) ; pub const CDATA : NodeType = NodeType (5i64) ; pub const UNKNOWN : NodeType = NodeType (6i64) ; } impl From < i64 > for NodeType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < NodeType > for i64 { # [inline] fn from (v : NodeType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl XMLParser { pub const NODE_CDATA : i64 = 5i64 ; pub const NODE_COMMENT : i64 = 4i64 ; pub const NODE_ELEMENT : i64 = 1i64 ; pub const NODE_ELEMENT_END : i64 = 2i64 ; pub const NODE_NONE : i64 = 0i64 ; pub const NODE_TEXT : i64 = 3i64 ; pub const NODE_UNKNOWN : i64 = 6i64 ; } impl XMLParser { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = XMLParserMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Gets the amount of attributes in the current element."] # [doc = ""] # [inline] pub fn get_attribute_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_attribute_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets the name of the attribute specified by the index in `idx` argument."] # [doc = ""] # [inline] pub fn get_attribute_name (& self , idx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_attribute_name ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; GodotString :: from_sys (ret) } } # [doc = "Gets the value of the attribute specified by the index in `idx` argument."] # [doc = ""] # [inline] pub fn get_attribute_value (& self , idx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_attribute_value ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; GodotString :: from_sys (ret) } } # [doc = "Gets the current line in the parsed file (currently not implemented)."] # [doc = ""] # [inline] pub fn get_current_line (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_current_line ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets the value of a certain attribute of the current element by name. This will raise an error if the element has no such attribute."] # [doc = ""] # [inline] pub fn get_named_attribute_value (& self , name : impl Into < GodotString >) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_named_attribute_value ; let ret = crate :: icalls :: icallptr_str_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; GodotString :: from_sys (ret) } } # [doc = "Gets the value of a certain attribute of the current element by name. This will return an empty [String] if the attribute is not found."] # [doc = ""] # [inline] pub fn get_named_attribute_value_safe (& self , name : impl Into < GodotString >) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_named_attribute_value_safe ; let ret = crate :: icalls :: icallptr_str_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; GodotString :: from_sys (ret) } } # [doc = "Gets the contents of a text node. This will raise an error in any other type of node."] # [doc = ""] # [inline] pub fn get_node_data (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_node_data ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Gets the name of the current element node. This will raise an error if the current node type is neither [constant NODE_ELEMENT] nor [constant NODE_ELEMENT_END]."] # [doc = ""] # [inline] pub fn get_node_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_node_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Gets the byte offset of the current node since the beginning of the file or buffer."] # [doc = ""] # [inline] pub fn get_node_offset (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_node_offset ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets the type of the current node. Compare with [enum NodeType] constants."] # [doc = ""] # [inline] pub fn get_node_type (& self) -> crate :: generated :: xml_parser :: NodeType { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . get_node_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: xml_parser :: NodeType (ret) } } # [doc = "Check whether the current element has a certain attribute."] # [doc = ""] # [inline] pub fn has_attribute (& self , name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . has_attribute ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = "Check whether the current element is empty (this only works for completely empty tags, e.g. `<element \\>`)."] # [doc = ""] # [inline] pub fn is_empty (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . is_empty ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Opens an XML file for parsing. This returns an error code."] # [doc = ""] # [inline] pub fn open (& self , file : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . open ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , file . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Opens an XML raw buffer for parsing. This returns an error code."] # [doc = ""] # [inline] pub fn open_buffer (& self , buffer : ByteArray) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . open_buffer ; let ret = crate :: icalls :: icallptr_i64_bytearr (method_bind , self . this . sys () . as_ptr () , buffer) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Reads the next node of the file. This returns an error code."] # [doc = ""] # [inline] pub fn read (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . read ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Moves the buffer cursor to a certain offset (since the beginning) and read the next node there. This returns an error code."] # [doc = ""] # [inline] pub fn seek (& self , position : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . seek ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , position) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Skips the current section. If the node contains other elements, they will be ignored and the cursor will go to the closing of the current element."] # [doc = ""] # [inline] pub fn skip_section (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = XMLParserMethodTable :: get (get_api ()) . skip_section ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for XMLParser { } unsafe impl GodotObject for XMLParser { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "XMLParser" } } impl std :: ops :: Deref for XMLParser { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for XMLParser { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for XMLParser { } unsafe impl SubClass < crate :: generated :: object :: Object > for XMLParser { } impl Instanciable for XMLParser { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { XMLParser :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct XMLParserMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_attribute_count : * mut sys :: godot_method_bind , pub get_attribute_name : * mut sys :: godot_method_bind , pub get_attribute_value : * mut sys :: godot_method_bind , pub get_current_line : * mut sys :: godot_method_bind , pub get_named_attribute_value : * mut sys :: godot_method_bind , pub get_named_attribute_value_safe : * mut sys :: godot_method_bind , pub get_node_data : * mut sys :: godot_method_bind , pub get_node_name : * mut sys :: godot_method_bind , pub get_node_offset : * mut sys :: godot_method_bind , pub get_node_type : * mut sys :: godot_method_bind , pub has_attribute : * mut sys :: godot_method_bind , pub is_empty : * mut sys :: godot_method_bind , pub open : * mut sys :: godot_method_bind , pub open_buffer : * mut sys :: godot_method_bind , pub read : * mut sys :: godot_method_bind , pub seek : * mut sys :: godot_method_bind , pub skip_section : * mut sys :: godot_method_bind } impl XMLParserMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : XMLParserMethodTable = XMLParserMethodTable { class_constructor : None , get_attribute_count : 0 as * mut sys :: godot_method_bind , get_attribute_name : 0 as * mut sys :: godot_method_bind , get_attribute_value : 0 as * mut sys :: godot_method_bind , get_current_line : 0 as * mut sys :: godot_method_bind , get_named_attribute_value : 0 as * mut sys :: godot_method_bind , get_named_attribute_value_safe : 0 as * mut sys :: godot_method_bind , get_node_data : 0 as * mut sys :: godot_method_bind , get_node_name : 0 as * mut sys :: godot_method_bind , get_node_offset : 0 as * mut sys :: godot_method_bind , get_node_type : 0 as * mut sys :: godot_method_bind , has_attribute : 0 as * mut sys :: godot_method_bind , is_empty : 0 as * mut sys :: godot_method_bind , open : 0 as * mut sys :: godot_method_bind , open_buffer : 0 as * mut sys :: godot_method_bind , read : 0 as * mut sys :: godot_method_bind , seek : 0 as * mut sys :: godot_method_bind , skip_section : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { XMLParserMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "XMLParser\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_attribute_count = (gd_api . godot_method_bind_get_method) (class_name , "get_attribute_count\0" . as_ptr () as * const c_char) ; table . get_attribute_name = (gd_api . godot_method_bind_get_method) (class_name , "get_attribute_name\0" . as_ptr () as * const c_char) ; table . get_attribute_value = (gd_api . godot_method_bind_get_method) (class_name , "get_attribute_value\0" . as_ptr () as * const c_char) ; table . get_current_line = (gd_api . godot_method_bind_get_method) (class_name , "get_current_line\0" . as_ptr () as * const c_char) ; table . get_named_attribute_value = (gd_api . godot_method_bind_get_method) (class_name , "get_named_attribute_value\0" . as_ptr () as * const c_char) ; table . get_named_attribute_value_safe = (gd_api . godot_method_bind_get_method) (class_name , "get_named_attribute_value_safe\0" . as_ptr () as * const c_char) ; table . get_node_data = (gd_api . godot_method_bind_get_method) (class_name , "get_node_data\0" . as_ptr () as * const c_char) ; table . get_node_name = (gd_api . godot_method_bind_get_method) (class_name , "get_node_name\0" . as_ptr () as * const c_char) ; table . get_node_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_node_offset\0" . as_ptr () as * const c_char) ; table . get_node_type = (gd_api . godot_method_bind_get_method) (class_name , "get_node_type\0" . as_ptr () as * const c_char) ; table . has_attribute = (gd_api . godot_method_bind_get_method) (class_name , "has_attribute\0" . as_ptr () as * const c_char) ; table . is_empty = (gd_api . godot_method_bind_get_method) (class_name , "is_empty\0" . as_ptr () as * const c_char) ; table . open = (gd_api . godot_method_bind_get_method) (class_name , "open\0" . as_ptr () as * const c_char) ; table . open_buffer = (gd_api . godot_method_bind_get_method) (class_name , "open_buffer\0" . as_ptr () as * const c_char) ; table . read = (gd_api . godot_method_bind_get_method) (class_name , "read\0" . as_ptr () as * const c_char) ; table . seek = (gd_api . godot_method_bind_get_method) (class_name , "seek\0" . as_ptr () as * const c_char) ; table . skip_section = (gd_api . godot_method_bind_get_method) (class_name , "skip_section\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1720:1478
[INFO] [stdout]      |
[INFO] [stdout] 1720 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeVectorClamp { this : RawObject < Self > , } impl VisualShaderNodeVectorC...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorClamp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1744:1652
[INFO] [stdout]      |
[INFO] [stdout] 1744 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeGlobalExpression { this : RawObject < Self > , } impl VisualShaderNodeGlob...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeGlobalExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1780:1906
[INFO] [stdout]      |
[INFO] [stdout] 1780 | ...mel_case_types)] # [derive (Debug)] pub struct CSGCombiner { this : RawObject < Self > , } impl CSGCombiner { # [doc = "Creates...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CSGCombiner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:646:3621
[INFO] [stdout]     |
[INFO] [stdout] 646 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 646 |                 # [doc = "`core class AnimationNodeTimeSeek` inherits `AnimationNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnodetimeseek.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNodeTimeSeek inherits methods from:\n - [AnimationNode](struct.AnimationNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNodeTimeSeek { this : RawObject < Self > , } impl AnimationNodeTimeSeek { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeTimeSeekMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNodeTimeSeek { } unsafe impl GodotObject for AnimationNodeTimeSeek { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNodeTimeSeek" } } impl std :: ops :: Deref for AnimationNodeTimeSeek { type Target = crate :: generated :: animation_node :: AnimationNode ; # [inline] fn deref (& self) -> & crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNodeTimeSeek { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: animation_node :: AnimationNode > for AnimationNodeTimeSeek { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNodeTimeSeek { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNodeTimeSeek { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNodeTimeSeek { } impl Instanciable for AnimationNodeTimeSeek { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNodeTimeSeek :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeTimeSeekMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AnimationNodeTimeSeekMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeTimeSeekMethodTable = AnimationNodeTimeSeekMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeTimeSeekMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNodeTimeSeek\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1816:1830
[INFO] [stdout]      |
[INFO] [stdout] 1816 | ...amel_case_types)] # [derive (Debug)] pub struct PopupPanel { this : RawObject < Self > , } impl PopupPanel { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PopupPanel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1828:1832
[INFO] [stdout]      |
[INFO] [stdout] 1828 | ...amel_case_types)] # [derive (Debug)] pub struct SpotLight { this : RawObject < Self > , } impl SpotLight { # [doc = "Creates a ...
[INFO] [stdout]      |                                                    ---------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `SpotLight` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1834:1798
[INFO] [stdout]      |
[INFO] [stdout] 1834 | ...amel_case_types)] # [derive (Debug)] pub struct Position2D { this : RawObject < Self > , } impl Position2D { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Position2D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1846:1464
[INFO] [stdout]      |
[INFO] [stdout] 1846 | ...l_case_types)] # [derive (Debug)] pub struct AudioEffectEQ10 { this : RawObject < Self > , } impl AudioEffectEQ10 { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectEQ10` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1864:1442
[INFO] [stdout]      |
[INFO] [stdout] 1864 | ..._case_types)] # [derive (Debug)] pub struct VisualShaderNodeIf { this : RawObject < Self > , } impl VisualShaderNodeIf { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeIf` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1912:1494
[INFO] [stdout]      |
[INFO] [stdout] 1912 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeVectorDecompose { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]      |                                         -------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorDecompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1918:1506
[INFO] [stdout]      |
[INFO] [stdout] 1918 | ...pes)] # [derive (Debug)] pub struct VisualShaderNodeTransformDecompose { this : RawObject < Self > , } impl VisualShaderNodeTra...
[INFO] [stdout]      |                                        ----------------------------------   ^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeTransformDecompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1924:1349
[INFO] [stdout]      |
[INFO] [stdout] 1924 | ...case_types)] # [derive (Debug)] pub struct ResourceFormatSaver { this : RawObject < Self > , } impl ResourceFormatSaver { # [do...
[INFO] [stdout]      |                                               -------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ResourceFormatSaver` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1930:1450
[INFO] [stdout]      |
[INFO] [stdout] 1930 | ...case_types)] # [derive (Debug)] pub struct VisualScriptFunction { this : RawObject < Self > , } impl VisualScriptFunction { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptFunction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1948:1572
[INFO] [stdout]      |
[INFO] [stdout] 1948 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeTransformUniform { this : RawObject < Self > , } impl VisualShaderNodeTran...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeTransformUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:652:17232
[INFO] [stdout]     |
[INFO] [stdout] 652 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 652 |                 # [doc = "`core class AnimationNodeStateMachine` inherits `AnimationRootNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnodestatemachine.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNodeStateMachine inherits methods from:\n - [AnimationRootNode](struct.AnimationRootNode.html)\n - [AnimationNode](struct.AnimationNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNodeStateMachine { this : RawObject < Self > , } impl AnimationNodeStateMachine { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeStateMachineMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a new node to the graph. The `position` is used for display in the editor.\n# Default Arguments\n* `position` - `Vector2( 0, 0 )`"] # [doc = ""] # [inline] pub fn add_node (& self , name : impl Into < GodotString > , node : impl AsArg < crate :: generated :: animation_node :: AnimationNode > , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . add_node ; let ret = crate :: icalls :: icallptr_void_str_obj_vec2 (method_bind , self . this . sys () . as_ptr () , name . into () , node . as_arg_ptr () , position) ; } } # [doc = "Adds a transition between the given nodes."] # [doc = ""] # [inline] pub fn add_transition (& self , from : impl Into < GodotString > , to : impl Into < GodotString > , transition : impl AsArg < crate :: generated :: animation_node_state_machine_transition :: AnimationNodeStateMachineTransition >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . add_transition ; let ret = crate :: icalls :: icallptr_void_str_str_obj (method_bind , self . this . sys () . as_ptr () , from . into () , to . into () , transition . as_arg_ptr ()) ; } } # [doc = "Returns the graph's end node."] # [doc = ""] # [inline] pub fn get_end_node (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_end_node ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the draw offset of the graph. Used for display in the editor."] # [doc = ""] # [inline] pub fn get_graph_offset (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_graph_offset ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the animation node with the given name."] # [doc = ""] # [inline] pub fn get_node (& self , name : impl Into < GodotString >) -> Option < Ref < crate :: generated :: animation_node :: AnimationNode , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_node ; let ret = crate :: icalls :: icallptr_obj_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: animation_node :: AnimationNode , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the given animation node's name."] # [doc = ""] # [inline] pub fn get_node_name (& self , node : impl AsArg < crate :: generated :: animation_node :: AnimationNode >) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_node_name ; let ret = crate :: icalls :: icallptr_str_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the given node's coordinates. Used for display in the editor."] # [doc = ""] # [inline] pub fn get_node_position (& self , name : impl Into < GodotString >) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_node_position ; let ret = crate :: icalls :: icallptr_vec2_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; mem :: transmute (ret) } } # [doc = "Returns the graph's end node."] # [doc = ""] # [inline] pub fn get_start_node (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_start_node ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the given transition."] # [doc = ""] # [inline] pub fn get_transition (& self , idx : i64) -> Option < Ref < crate :: generated :: animation_node_state_machine_transition :: AnimationNodeStateMachineTransition , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_transition ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: animation_node_state_machine_transition :: AnimationNodeStateMachineTransition , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of connections in the graph."] # [doc = ""] # [inline] pub fn get_transition_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_transition_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the given transition's start node."] # [doc = ""] # [inline] pub fn get_transition_from (& self , idx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_transition_from ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; GodotString :: from_sys (ret) } } # [doc = "Returns the given transition's end node."] # [doc = ""] # [inline] pub fn get_transition_to (& self , idx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . get_transition_to ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; GodotString :: from_sys (ret) } } # [doc = "Returns `true` if the graph contains the given node."] # [doc = ""] # [inline] pub fn has_node (& self , name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . has_node ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = "Returns `true` if there is a transition between the given nodes."] # [doc = ""] # [inline] pub fn has_transition (& self , from : impl Into < GodotString > , to : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . has_transition ; let ret = crate :: icalls :: icallptr_bool_str_str (method_bind , self . this . sys () . as_ptr () , from . into () , to . into ()) ; ret as _ } } # [doc = "Deletes the given node from the graph."] # [doc = ""] # [inline] pub fn remove_node (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . remove_node ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "Deletes the transition between the two specified nodes."] # [doc = ""] # [inline] pub fn remove_transition (& self , from : impl Into < GodotString > , to : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . remove_transition ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , from . into () , to . into ()) ; } } # [doc = "Deletes the given transition by index."] # [doc = ""] # [inline] pub fn remove_transition_by_index (& self , idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . remove_transition_by_index ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; } } # [doc = "Renames the given node."] # [doc = ""] # [inline] pub fn rename_node (& self , name : impl Into < GodotString > , new_name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . rename_node ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , name . into () , new_name . into ()) ; } } # [doc = "Replaces the node and keeps its transitions unchanged."] # [doc = ""] # [inline] pub fn replace_node (& self , name : impl Into < GodotString > , node : impl AsArg < crate :: generated :: animation_node :: AnimationNode >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . replace_node ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , name . into () , node . as_arg_ptr ()) ; } } # [doc = "Sets the given node as the graph end point."] # [doc = ""] # [inline] pub fn set_end_node (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . set_end_node ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "Sets the draw offset of the graph. Used for display in the editor."] # [doc = ""] # [inline] pub fn set_graph_offset (& self , offset : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . set_graph_offset ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "Sets the node's coordinates. Used for display in the editor."] # [doc = ""] # [inline] pub fn set_node_position (& self , name : impl Into < GodotString > , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . set_node_position ; let ret = crate :: icalls :: icallptr_void_str_vec2 (method_bind , self . this . sys () . as_ptr () , name . into () , position) ; } } # [doc = "Sets the given node as the graph start point."] # [doc = ""] # [inline] pub fn set_start_node (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachineMethodTable :: get (get_api ()) . set_start_node ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNodeStateMachine { } unsafe impl GodotObject for AnimationNodeStateMachine { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNodeStateMachine" } } impl std :: ops :: Deref for AnimationNodeStateMachine { type Target = crate :: generated :: animation_root_node :: AnimationRootNode ; # [inline] fn deref (& self) -> & crate :: generated :: animation_root_node :: AnimationRootNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNodeStateMachine { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: animation_root_node :: AnimationRootNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: animation_root_node :: AnimationRootNode > for AnimationNodeStateMachine { } unsafe impl SubClass < crate :: generated :: animation_node :: AnimationNode > for AnimationNodeStateMachine { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNodeStateMachine { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNodeStateMachine { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNodeStateMachine { } impl Instanciable for AnimationNodeStateMachine { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNodeStateMachine :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeStateMachineMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_node : * mut sys :: godot_method_bind , pub add_transition : * mut sys :: godot_method_bind , pub get_end_node : * mut sys :: godot_method_bind , pub get_graph_offset : * mut sys :: godot_method_bind , pub get_node : * mut sys :: godot_method_bind , pub get_node_name : * mut sys :: godot_method_bind , pub get_node_position : * mut sys :: godot_method_bind , pub get_start_node : * mut sys :: godot_method_bind , pub get_transition : * mut sys :: godot_method_bind , pub get_transition_count : * mut sys :: godot_method_bind , pub get_transition_from : * mut sys :: godot_method_bind , pub get_transition_to : * mut sys :: godot_method_bind , pub has_node : * mut sys :: godot_method_bind , pub has_transition : * mut sys :: godot_method_bind , pub remove_node : * mut sys :: godot_method_bind , pub remove_transition : * mut sys :: godot_method_bind , pub remove_transition_by_index : * mut sys :: godot_method_bind , pub rename_node : * mut sys :: godot_method_bind , pub replace_node : * mut sys :: godot_method_bind , pub set_end_node : * mut sys :: godot_method_bind , pub set_graph_offset : * mut sys :: godot_method_bind , pub set_node_position : * mut sys :: godot_method_bind , pub set_start_node : * mut sys :: godot_method_bind } impl AnimationNodeStateMachineMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeStateMachineMethodTable = AnimationNodeStateMachineMethodTable { class_constructor : None , add_node : 0 as * mut sys :: godot_method_bind , add_transition : 0 as * mut sys :: godot_method_bind , get_end_node : 0 as * mut sys :: godot_method_bind , get_graph_offset : 0 as * mut sys :: godot_method_bind , get_node : 0 as * mut sys :: godot_method_bind , get_node_name : 0 as * mut sys :: godot_method_bind , get_node_position : 0 as * mut sys :: godot_method_bind , get_start_node : 0 as * mut sys :: godot_method_bind , get_transition : 0 as * mut sys :: godot_method_bind , get_transition_count : 0 as * mut sys :: godot_method_bind , get_transition_from : 0 as * mut sys :: godot_method_bind , get_transition_to : 0 as * mut sys :: godot_method_bind , has_node : 0 as * mut sys :: godot_method_bind , has_transition : 0 as * mut sys :: godot_method_bind , remove_node : 0 as * mut sys :: godot_method_bind , remove_transition : 0 as * mut sys :: godot_method_bind , remove_transition_by_index : 0 as * mut sys :: godot_method_bind , rename_node : 0 as * mut sys :: godot_method_bind , replace_node : 0 as * mut sys :: godot_method_bind , set_end_node : 0 as * mut sys :: godot_method_bind , set_graph_offset : 0 as * mut sys :: godot_method_bind , set_node_position : 0 as * mut sys :: godot_method_bind , set_start_node : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeStateMachineMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNodeStateMachine\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_node = (gd_api . godot_method_bind_get_method) (class_name , "add_node\0" . as_ptr () as * const c_char) ; table . add_transition = (gd_api . godot_method_bind_get_method) (class_name , "add_transition\0" . as_ptr () as * const c_char) ; table . get_end_node = (gd_api . godot_method_bind_get_method) (class_name , "get_end_node\0" . as_ptr () as * const c_char) ; table . get_graph_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_graph_offset\0" . as_ptr () as * const c_char) ; table . get_node = (gd_api . godot_method_bind_get_method) (class_name , "get_node\0" . as_ptr () as * const c_char) ; table . get_node_name = (gd_api . godot_method_bind_get_method) (class_name , "get_node_name\0" . as_ptr () as * const c_char) ; table . get_node_position = (gd_api . godot_method_bind_get_method) (class_name , "get_node_position\0" . as_ptr () as * const c_char) ; table . get_start_node = (gd_api . godot_method_bind_get_method) (class_name , "get_start_node\0" . as_ptr () as * const c_char) ; table . get_transition = (gd_api . godot_method_bind_get_method) (class_name , "get_transition\0" . as_ptr () as * const c_char) ; table . get_transition_count = (gd_api . godot_method_bind_get_method) (class_name , "get_transition_count\0" . as_ptr () as * const c_char) ; table . get_transition_from = (gd_api . godot_method_bind_get_method) (class_name , "get_transition_from\0" . as_ptr () as * const c_char) ; table . get_transition_to = (gd_api . godot_method_bind_get_method) (class_name , "get_transition_to\0" . as_ptr () as * const c_char) ; table . has_node = (gd_api . godot_method_bind_get_method) (class_name , "has_node\0" . as_ptr () as * const c_char) ; table . has_transition = (gd_api . godot_method_bind_get_method) (class_name , "has_transition\0" . as_ptr () as * const c_char) ; table . remove_node = (gd_api . godot_method_bind_get_method) (class_name , "remove_node\0" . as_ptr () as * const c_char) ; table . remove_transition = (gd_api . godot_method_bind_get_method) (class_name , "remove_transition\0" . as_ptr () as * const c_char) ; table . remove_transition_by_index = (gd_api . godot_method_bind_get_method) (class_name , "remove_transition_by_index\0" . as_ptr () as * const c_char) ; table . rename_node = (gd_api . godot_method_bind_get_method) (class_name , "rename_node\0" . as_ptr () as * const c_char) ; table . replace_node = (gd_api . godot_method_bind_get_method) (class_name , "replace_node\0" . as_ptr () as * const c_char) ; table . set_end_node = (gd_api . godot_method_bind_get_method) (class_name , "set_end_node\0" . as_ptr () as * const c_char) ; table . set_graph_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_graph_offset\0" . as_ptr () as * const c_char) ; table . set_node_position = (gd_api . godot_method_bind_get_method) (class_name , "set_node_position\0" . as_ptr () as * const c_char) ; table . set_start_node = (gd_api . godot_method_bind_get_method) (class_name , "set_start_node\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1960:1652
[INFO] [stdout]      |
[INFO] [stdout] 1960 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeCubeMapUniform { this : RawObject < Self > , } impl VisualShaderNodeCubeM...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeCubeMapUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1972:1512
[INFO] [stdout]      |
[INFO] [stdout] 1972 | ...se_types)] # [derive (Debug)] pub struct AudioEffectLowPassFilter { this : RawObject < Self > , } impl AudioEffectLowPassFilter...
[INFO] [stdout]      |                                             ------------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectLowPassFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:1990:1482
[INFO] [stdout]      |
[INFO] [stdout] 1990 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeScalarInterp { this : RawObject < Self > , } impl VisualShaderNodeScalar...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarInterp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2026:1462
[INFO] [stdout]      |
[INFO] [stdout] 2026 | ...se_types)] # [derive (Debug)] pub struct VisualShaderNodeFresnel { this : RawObject < Self > , } impl VisualShaderNodeFresnel {...
[INFO] [stdout]      |                                             -----------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeFresnel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2044:1873
[INFO] [stdout]      |
[INFO] [stdout] 2044 | ...amel_case_types)] # [derive (Debug)] pub struct HScrollBar { this : RawObject < Self > , } impl HScrollBar { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HScrollBar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2050:1846
[INFO] [stdout]      |
[INFO] [stdout] 2050 | ...camel_case_types)] # [derive (Debug)] pub struct HSlider { this : RawObject < Self > , } impl HSlider { # [doc = "Creates a new...
[INFO] [stdout]      |                                                     -------   ^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HSlider` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2074:1244
[INFO] [stdout]      |
[INFO] [stdout] 2074 | ..._case_types)] # [derive (Debug)] pub struct Physics2DServerSW { this : RawObject < Self > , } impl Physics2DServerSW { } impl g...
[INFO] [stdout]      |                                                -----------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Physics2DServerSW` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2092:1353
[INFO] [stdout]      |
[INFO] [stdout] 2092 | ...mel_case_types)] # [derive (Debug)] pub struct AudioEffect { this : RawObject < Self > , } impl AudioEffect { } impl gdnative_c...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffect` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2098:1458
[INFO] [stdout]      |
[INFO] [stdout] 2098 | ...ase_types)] # [derive (Debug)] pub struct VisualScriptExpression { this : RawObject < Self > , } impl VisualScriptExpression { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2134:1482
[INFO] [stdout]      |
[INFO] [stdout] 2134 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeVectorInterp { this : RawObject < Self > , } impl VisualShaderNodeVector...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorInterp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2152:1873
[INFO] [stdout]      |
[INFO] [stdout] 2152 | ...amel_case_types)] # [derive (Debug)] pub struct VScrollBar { this : RawObject < Self > , } impl VScrollBar { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VScrollBar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2158:1504
[INFO] [stdout]      |
[INFO] [stdout] 2158 | ...ase_types)] # [derive (Debug)] pub struct AudioEffectNotchFilter { this : RawObject < Self > , } impl AudioEffectNotchFilter { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectNotchFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2194:1486
[INFO] [stdout]      |
[INFO] [stdout] 2194 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorCompose { this : RawObject < Self > , } impl VisualShaderNodeVector...
[INFO] [stdout]      |                                          -----------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorCompose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2200:1482
[INFO] [stdout]      |
[INFO] [stdout] 2200 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeOuterProduct { this : RawObject < Self > , } impl VisualShaderNodeOuterP...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeOuterProduct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2242:1470
[INFO] [stdout]      |
[INFO] [stdout] 2242 | ...e_types)] # [derive (Debug)] pub struct VisualShaderNodeVectorLen { this : RawObject < Self > , } impl VisualShaderNodeVectorLe...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorLen` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2254:1842
[INFO] [stdout]      |
[INFO] [stdout] 2254 | ...amel_case_types)] # [derive (Debug)] pub struct VSeparator { this : RawObject < Self > , } impl VSeparator { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VSeparator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2266:1349
[INFO] [stdout]      |
[INFO] [stdout] 2266 | ...case_types)] # [derive (Debug)] pub struct AudioEffectInstance { this : RawObject < Self > , } impl AudioEffectInstance { } imp...
[INFO] [stdout]      |                                               -------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectInstance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2284:1556
[INFO] [stdout]      |
[INFO] [stdout] 2284 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeColorUniform { this : RawObject < Self > , } impl VisualShaderNodeColorU...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeColorUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2338:1426
[INFO] [stdout]      |
[INFO] [stdout] 2338 | ...amel_case_types)] # [derive (Debug)] pub struct PointMesh { this : RawObject < Self > , } impl PointMesh { # [doc = "Creates a ...
[INFO] [stdout]      |                                                    ---------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PointMesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2380:1490
[INFO] [stdout]      |
[INFO] [stdout] 2380 | ...se_types)] # [derive (Debug)] pub struct MultiplayerPeerGDNative { this : RawObject < Self > , } impl MultiplayerPeerGDNative {...
[INFO] [stdout]      |                                             -----------------------   ^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MultiplayerPeerGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2398:1458
[INFO] [stdout]      |
[INFO] [stdout] 2398 | ...ase_types)] # [derive (Debug)] pub struct VisualShaderNodeOutput { this : RawObject < Self > , } impl VisualShaderNodeOutput { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:658:32706
[INFO] [stdout]     |
[INFO] [stdout] 658 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 658 |                 # [doc = "`core class ParticlesMaterial` inherits `Material` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_particlesmaterial.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nParticlesMaterial inherits methods from:\n - [Material](struct.Material.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ParticlesMaterial { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct EmissionShape (pub i64) ; impl EmissionShape { pub const POINT : EmissionShape = EmissionShape (0i64) ; pub const SPHERE : EmissionShape = EmissionShape (1i64) ; pub const BOX : EmissionShape = EmissionShape (2i64) ; pub const POINTS : EmissionShape = EmissionShape (3i64) ; pub const DIRECTED_POINTS : EmissionShape = EmissionShape (4i64) ; pub const MAX : EmissionShape = EmissionShape (5i64) ; } impl From < i64 > for EmissionShape { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < EmissionShape > for i64 { # [inline] fn from (v : EmissionShape) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Flags (pub i64) ; impl Flags { pub const ALIGN_Y_TO_VELOCITY : Flags = Flags (0i64) ; pub const ROTATE_Y : Flags = Flags (1i64) ; pub const DISABLE_Z : Flags = Flags (2i64) ; pub const MAX : Flags = Flags (3i64) ; } impl From < i64 > for Flags { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Flags > for i64 { # [inline] fn from (v : Flags) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Parameter (pub i64) ; impl Parameter { pub const INITIAL_LINEAR_VELOCITY : Parameter = Parameter (0i64) ; pub const ANGULAR_VELOCITY : Parameter = Parameter (1i64) ; pub const ORBIT_VELOCITY : Parameter = Parameter (2i64) ; pub const LINEAR_ACCEL : Parameter = Parameter (3i64) ; pub const RADIAL_ACCEL : Parameter = Parameter (4i64) ; pub const TANGENTIAL_ACCEL : Parameter = Parameter (5i64) ; pub const DAMPING : Parameter = Parameter (6i64) ; pub const ANGLE : Parameter = Parameter (7i64) ; pub const SCALE : Parameter = Parameter (8i64) ; pub const HUE_VARIATION : Parameter = Parameter (9i64) ; pub const ANIM_SPEED : Parameter = Parameter (10i64) ; pub const ANIM_OFFSET : Parameter = Parameter (11i64) ; pub const MAX : Parameter = Parameter (12i64) ; } impl From < i64 > for Parameter { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Parameter > for i64 { # [inline] fn from (v : Parameter) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl ParticlesMaterial { pub const EMISSION_SHAPE_BOX : i64 = 2i64 ; pub const EMISSION_SHAPE_DIRECTED_POINTS : i64 = 4i64 ; pub const EMISSION_SHAPE_MAX : i64 = 5i64 ; pub const EMISSION_SHAPE_POINT : i64 = 0i64 ; pub const EMISSION_SHAPE_POINTS : i64 = 3i64 ; pub const EMISSION_SHAPE_SPHERE : i64 = 1i64 ; pub const FLAG_ALIGN_Y_TO_VELOCITY : i64 = 0i64 ; pub const FLAG_DISABLE_Z : i64 = 2i64 ; pub const FLAG_MAX : i64 = 3i64 ; pub const FLAG_ROTATE_Y : i64 = 1i64 ; pub const PARAM_ANGLE : i64 = 7i64 ; pub const PARAM_ANGULAR_VELOCITY : i64 = 1i64 ; pub const PARAM_ANIM_OFFSET : i64 = 11i64 ; pub const PARAM_ANIM_SPEED : i64 = 10i64 ; pub const PARAM_DAMPING : i64 = 6i64 ; pub const PARAM_HUE_VARIATION : i64 = 9i64 ; pub const PARAM_INITIAL_LINEAR_VELOCITY : i64 = 0i64 ; pub const PARAM_LINEAR_ACCEL : i64 = 3i64 ; pub const PARAM_MAX : i64 = 12i64 ; pub const PARAM_ORBIT_VELOCITY : i64 = 2i64 ; pub const PARAM_RADIAL_ACCEL : i64 = 4i64 ; pub const PARAM_SCALE : i64 = 8i64 ; pub const PARAM_TANGENTIAL_ACCEL : i64 = 5i64 ; } impl ParticlesMaterial { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ParticlesMaterialMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Each particle's initial color. If the [Particles2D]'s `texture` is defined, it will be multiplied by this color. To have particle display color in a [SpatialMaterial] make sure to set [member SpatialMaterial.vertex_color_use_as_albedo] to `true`."] # [doc = ""] # [inline] pub fn color (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_color ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Each particle's color will vary along this [GradientTexture]."] # [doc = ""] # [inline] pub fn color_ramp (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_color_ramp ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Unit vector specifying the particles' emission direction."] # [doc = ""] # [inline] pub fn direction (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_direction ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The box's extents if `emission_shape` is set to [constant EMISSION_SHAPE_BOX]."] # [doc = ""] # [inline] pub fn emission_box_extents (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_emission_box_extents ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Particle color will be modulated by color determined by sampling this texture at the same point as the [member emission_point_texture]."] # [doc = ""] # [inline] pub fn emission_color_texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_emission_color_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Particle velocity and rotation will be set by sampling this texture at the same point as the [member emission_point_texture]. Used only in [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting \"Create Emission Points from Mesh/Node\" under the \"Particles\" tool in the toolbar."] # [doc = ""] # [inline] pub fn emission_normal_texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_emission_normal_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The number of emission points if `emission_shape` is set to [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]."] # [doc = ""] # [inline] pub fn emission_point_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_emission_point_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particles will be emitted at positions determined by sampling this texture at a random position. Used with [constant EMISSION_SHAPE_POINTS] and [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting \"Create Emission Points from Mesh/Node\" under the \"Particles\" tool in the toolbar."] # [doc = ""] # [inline] pub fn emission_point_texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_emission_point_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Particles will be emitted inside this region. Use [enum EmissionShape] constants for values."] # [doc = ""] # [inline] pub fn emission_shape (& self) -> crate :: generated :: particles_material :: EmissionShape { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_emission_shape ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: particles_material :: EmissionShape (ret) } } # [doc = "The sphere's radius if `emission_shape` is set to [constant EMISSION_SHAPE_SPHERE]."] # [doc = ""] # [inline] pub fn emission_sphere_radius (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_emission_sphere_radius ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, particles rotate around Y axis by [member angle]."] # [doc = ""] # [inline] pub fn flag (& self , flag : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_flag ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , flag) ; ret as _ } } # [doc = "Amount of [member spread] in Y/Z plane. A value of `1` restricts particles to X/Z plane."] # [doc = ""] # [inline] pub fn flatness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_flatness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gravity applied to every particle."] # [doc = ""] # [inline] pub fn gravity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_gravity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Particle lifetime randomness ratio."] # [doc = ""] # [inline] pub fn lifetime_randomness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_lifetime_randomness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion."] # [doc = ""] # [inline] pub fn param (& self , param : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_param ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , param) ; ret as _ } } # [doc = "Tangential acceleration randomness ratio."] # [doc = ""] # [inline] pub fn param_randomness (& self , param : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_param_randomness ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , param) ; ret as _ } } # [doc = "Each particle's tangential acceleration will vary along this [CurveTexture]."] # [doc = ""] # [inline] pub fn param_texture (& self , param : i64) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_param_texture ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , param) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Each particle's initial direction range from `+spread` to `-spread` degrees. Applied to X/Z plane and Y/Z planes."] # [doc = ""] # [inline] pub fn spread (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_spread ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Trail particles' color will vary along this [GradientTexture]."] # [doc = ""] # [inline] pub fn trail_color_modifier (& self) -> Option < Ref < crate :: generated :: gradient_texture :: GradientTexture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_trail_color_modifier ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: gradient_texture :: GradientTexture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Emitter will emit `amount` divided by `trail_divisor` particles. The remaining particles will be used as trail(s)."] # [doc = ""] # [inline] pub fn trail_divisor (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_trail_divisor ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Trail particles' size will vary along this [CurveTexture]."] # [doc = ""] # [inline] pub fn trail_size_modifier (& self) -> Option < Ref < crate :: generated :: curve_texture :: CurveTexture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . get_trail_size_modifier ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: curve_texture :: CurveTexture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Each particle's initial color. If the [Particles2D]'s `texture` is defined, it will be multiplied by this color. To have particle display color in a [SpatialMaterial] make sure to set [member SpatialMaterial.vertex_color_use_as_albedo] to `true`."] # [doc = ""] # [inline] pub fn set_color (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_color ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = "Each particle's color will vary along this [GradientTexture]."] # [doc = ""] # [inline] pub fn set_color_ramp (& self , ramp : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_color_ramp ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , ramp . as_arg_ptr ()) ; } } # [doc = "Unit vector specifying the particles' emission direction."] # [doc = ""] # [inline] pub fn set_direction (& self , degrees : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_direction ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , degrees) ; } } # [doc = "The box's extents if `emission_shape` is set to [constant EMISSION_SHAPE_BOX]."] # [doc = ""] # [inline] pub fn set_emission_box_extents (& self , extents : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_emission_box_extents ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , extents) ; } } # [doc = "Particle color will be modulated by color determined by sampling this texture at the same point as the [member emission_point_texture]."] # [doc = ""] # [inline] pub fn set_emission_color_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_emission_color_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "Particle velocity and rotation will be set by sampling this texture at the same point as the [member emission_point_texture]. Used only in [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting \"Create Emission Points from Mesh/Node\" under the \"Particles\" tool in the toolbar."] # [doc = ""] # [inline] pub fn set_emission_normal_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_emission_normal_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "The number of emission points if `emission_shape` is set to [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]."] # [doc = ""] # [inline] pub fn set_emission_point_count (& self , point_count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_emission_point_count ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , point_count) ; } } # [doc = "Particles will be emitted at positions determined by sampling this texture at a random position. Used with [constant EMISSION_SHAPE_POINTS] and [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting \"Create Emission Points from Mesh/Node\" under the \"Particles\" tool in the toolbar."] # [doc = ""] # [inline] pub fn set_emission_point_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_emission_point_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "Particles will be emitted inside this region. Use [enum EmissionShape] constants for values."] # [doc = ""] # [inline] pub fn set_emission_shape (& self , shape : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_emission_shape ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , shape) ; } } # [doc = "The sphere's radius if `emission_shape` is set to [constant EMISSION_SHAPE_SPHERE]."] # [doc = ""] # [inline] pub fn set_emission_sphere_radius (& self , radius : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_emission_sphere_radius ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , radius) ; } } # [doc = "If `true`, particles rotate around Y axis by [member angle]."] # [doc = ""] # [inline] pub fn set_flag (& self , flag : i64 , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_flag ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , flag , enable) ; } } # [doc = "Amount of [member spread] in Y/Z plane. A value of `1` restricts particles to X/Z plane."] # [doc = ""] # [inline] pub fn set_flatness (& self , amount : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_flatness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "Gravity applied to every particle."] # [doc = ""] # [inline] pub fn set_gravity (& self , accel_vec : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_gravity ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , accel_vec) ; } } # [doc = "Particle lifetime randomness ratio."] # [doc = ""] # [inline] pub fn set_lifetime_randomness (& self , randomness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_lifetime_randomness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , randomness) ; } } # [doc = "Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion."] # [doc = ""] # [inline] pub fn set_param (& self , param : i64 , value : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_param ; let ret = crate :: icalls :: icallptr_void_i64_f64 (method_bind , self . this . sys () . as_ptr () , param , value) ; } } # [doc = "Tangential acceleration randomness ratio."] # [doc = ""] # [inline] pub fn set_param_randomness (& self , param : i64 , randomness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_param_randomness ; let ret = crate :: icalls :: icallptr_void_i64_f64 (method_bind , self . this . sys () . as_ptr () , param , randomness) ; } } # [doc = "Each particle's tangential acceleration will vary along this [CurveTexture]."] # [doc = ""] # [inline] pub fn set_param_texture (& self , param : i64 , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_param_texture ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , param , texture . as_arg_ptr ()) ; } } # [doc = "Each particle's initial direction range from `+spread` to `-spread` degrees. Applied to X/Z plane and Y/Z planes."] # [doc = ""] # [inline] pub fn set_spread (& self , degrees : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_spread ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , degrees) ; } } # [doc = "Trail particles' color will vary along this [GradientTexture]."] # [doc = ""] # [inline] pub fn set_trail_color_modifier (& self , texture : impl AsArg < crate :: generated :: gradient_texture :: GradientTexture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_trail_color_modifier ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "Emitter will emit `amount` divided by `trail_divisor` particles. The remaining particles will be used as trail(s)."] # [doc = ""] # [inline] pub fn set_trail_divisor (& self , divisor : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_trail_divisor ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , divisor) ; } } # [doc = "Trail particles' size will vary along this [CurveTexture]."] # [doc = ""] # [inline] pub fn set_trail_size_modifier (& self , texture : impl AsArg < crate :: generated :: curve_texture :: CurveTexture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ParticlesMaterialMethodTable :: get (get_api ()) . set_trail_size_modifier ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ParticlesMaterial { } unsafe impl GodotObject for ParticlesMaterial { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "ParticlesMaterial" } } impl std :: ops :: Deref for ParticlesMaterial { type Target = crate :: generated :: material :: Material ; # [inline] fn deref (& self) -> & crate :: generated :: material :: Material { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ParticlesMaterial { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: material :: Material { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: material :: Material > for ParticlesMaterial { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for ParticlesMaterial { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for ParticlesMaterial { } unsafe impl SubClass < crate :: generated :: object :: Object > for ParticlesMaterial { } impl Instanciable for ParticlesMaterial { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ParticlesMaterial :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ParticlesMaterialMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_color : * mut sys :: godot_method_bind , pub get_color_ramp : * mut sys :: godot_method_bind , pub get_direction : * mut sys :: godot_method_bind , pub get_emission_box_extents : * mut sys :: godot_method_bind , pub get_emission_color_texture : * mut sys :: godot_method_bind , pub get_emission_normal_texture : * mut sys :: godot_method_bind , pub get_emission_point_count : * mut sys :: godot_method_bind , pub get_emission_point_texture : * mut sys :: godot_method_bind , pub get_emission_shape : * mut sys :: godot_method_bind , pub get_emission_sphere_radius : * mut sys :: godot_method_bind , pub get_flag : * mut sys :: godot_method_bind , pub get_flatness : * mut sys :: godot_method_bind , pub get_gravity : * mut sys :: godot_method_bind , pub get_lifetime_randomness : * mut sys :: godot_method_bind , pub get_param : * mut sys :: godot_method_bind , pub get_param_randomness : * mut sys :: godot_method_bind , pub get_param_texture : * mut sys :: godot_method_bind , pub get_spread : * mut sys :: godot_method_bind , pub get_trail_color_modifier : * mut sys :: godot_method_bind , pub get_trail_divisor : * mut sys :: godot_method_bind , pub get_trail_size_modifier : * mut sys :: godot_method_bind , pub set_color : * mut sys :: godot_method_bind , pub set_color_ramp : * mut sys :: godot_method_bind , pub set_direction : * mut sys :: godot_method_bind , pub set_emission_box_extents : * mut sys :: godot_method_bind , pub set_emission_color_texture : * mut sys :: godot_method_bind , pub set_emission_normal_texture : * mut sys :: godot_method_bind , pub set_emission_point_count : * mut sys :: godot_method_bind , pub set_emission_point_texture : * mut sys :: godot_method_bind , pub set_emission_shape : * mut sys :: godot_method_bind , pub set_emission_sphere_radius : * mut sys :: godot_method_bind , pub set_flag : * mut sys :: godot_method_bind , pub set_flatness : * mut sys :: godot_method_bind , pub set_gravity : * mut sys :: godot_method_bind , pub set_lifetime_randomness : * mut sys :: godot_method_bind , pub set_param : * mut sys :: godot_method_bind , pub set_param_randomness : * mut sys :: godot_method_bind , pub set_param_texture : * mut sys :: godot_method_bind , pub set_spread : * mut sys :: godot_method_bind , pub set_trail_color_modifier : * mut sys :: godot_method_bind , pub set_trail_divisor : * mut sys :: godot_method_bind , pub set_trail_size_modifier : * mut sys :: godot_method_bind } impl ParticlesMaterialMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ParticlesMaterialMethodTable = ParticlesMaterialMethodTable { class_constructor : None , get_color : 0 as * mut sys :: godot_method_bind , get_color_ramp : 0 as * mut sys :: godot_method_bind , get_direction : 0 as * mut sys :: godot_method_bind , get_emission_box_extents : 0 as * mut sys :: godot_method_bind , get_emission_color_texture : 0 as * mut sys :: godot_method_bind , get_emission_normal_texture : 0 as * mut sys :: godot_method_bind , get_emission_point_count : 0 as * mut sys :: godot_method_bind , get_emission_point_texture : 0 as * mut sys :: godot_method_bind , get_emission_shape : 0 as * mut sys :: godot_method_bind , get_emission_sphere_radius : 0 as * mut sys :: godot_method_bind , get_flag : 0 as * mut sys :: godot_method_bind , get_flatness : 0 as * mut sys :: godot_method_bind , get_gravity : 0 as * mut sys :: godot_method_bind , get_lifetime_randomness : 0 as * mut sys :: godot_method_bind , get_param : 0 as * mut sys :: godot_method_bind , get_param_randomness : 0 as * mut sys :: godot_method_bind , get_param_texture : 0 as * mut sys :: godot_method_bind , get_spread : 0 as * mut sys :: godot_method_bind , get_trail_color_modifier : 0 as * mut sys :: godot_method_bind , get_trail_divisor : 0 as * mut sys :: godot_method_bind , get_trail_size_modifier : 0 as * mut sys :: godot_method_bind , set_color : 0 as * mut sys :: godot_method_bind , set_color_ramp : 0 as * mut sys :: godot_method_bind , set_direction : 0 as * mut sys :: godot_method_bind , set_emission_box_extents : 0 as * mut sys :: godot_method_bind , set_emission_color_texture : 0 as * mut sys :: godot_method_bind , set_emission_normal_texture : 0 as * mut sys :: godot_method_bind , set_emission_point_count : 0 as * mut sys :: godot_method_bind , set_emission_point_texture : 0 as * mut sys :: godot_method_bind , set_emission_shape : 0 as * mut sys :: godot_method_bind , set_emission_sphere_radius : 0 as * mut sys :: godot_method_bind , set_flag : 0 as * mut sys :: godot_method_bind , set_flatness : 0 as * mut sys :: godot_method_bind , set_gravity : 0 as * mut sys :: godot_method_bind , set_lifetime_randomness : 0 as * mut sys :: godot_method_bind , set_param : 0 as * mut sys :: godot_method_bind , set_param_randomness : 0 as * mut sys :: godot_method_bind , set_param_texture : 0 as * mut sys :: godot_method_bind , set_spread : 0 as * mut sys :: godot_method_bind , set_trail_color_modifier : 0 as * mut sys :: godot_method_bind , set_trail_divisor : 0 as * mut sys :: godot_method_bind , set_trail_size_modifier : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ParticlesMaterialMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ParticlesMaterial\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_color = (gd_api . godot_method_bind_get_method) (class_name , "get_color\0" . as_ptr () as * const c_char) ; table . get_color_ramp = (gd_api . godot_method_bind_get_method) (class_name , "get_color_ramp\0" . as_ptr () as * const c_char) ; table . get_direction = (gd_api . godot_method_bind_get_method) (class_name , "get_direction\0" . as_ptr () as * const c_char) ; table . get_emission_box_extents = (gd_api . godot_method_bind_get_method) (class_name , "get_emission_box_extents\0" . as_ptr () as * const c_char) ; table . get_emission_color_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_emission_color_texture\0" . as_ptr () as * const c_char) ; table . get_emission_normal_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_emission_normal_texture\0" . as_ptr () as * const c_char) ; table . get_emission_point_count = (gd_api . godot_method_bind_get_method) (class_name , "get_emission_point_count\0" . as_ptr () as * const c_char) ; table . get_emission_point_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_emission_point_texture\0" . as_ptr () as * const c_char) ; table . get_emission_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_emission_shape\0" . as_ptr () as * const c_char) ; table . get_emission_sphere_radius = (gd_api . godot_method_bind_get_method) (class_name , "get_emission_sphere_radius\0" . as_ptr () as * const c_char) ; table . get_flag = (gd_api . godot_method_bind_get_method) (class_name , "get_flag\0" . as_ptr () as * const c_char) ; table . get_flatness = (gd_api . godot_method_bind_get_method) (class_name , "get_flatness\0" . as_ptr () as * const c_char) ; table . get_gravity = (gd_api . godot_method_bind_get_method) (class_name , "get_gravity\0" . as_ptr () as * const c_char) ; table . get_lifetime_randomness = (gd_api . godot_method_bind_get_method) (class_name , "get_lifetime_randomness\0" . as_ptr () as * const c_char) ; table . get_param = (gd_api . godot_method_bind_get_method) (class_name , "get_param\0" . as_ptr () as * const c_char) ; table . get_param_randomness = (gd_api . godot_method_bind_get_method) (class_name , "get_param_randomness\0" . as_ptr () as * const c_char) ; table . get_param_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_param_texture\0" . as_ptr () as * const c_char) ; table . get_spread = (gd_api . godot_method_bind_get_method) (class_name , "get_spread\0" . as_ptr () as * const c_char) ; table . get_trail_color_modifier = (gd_api . godot_method_bind_get_method) (class_name , "get_trail_color_modifier\0" . as_ptr () as * const c_char) ; table . get_trail_divisor = (gd_api . godot_method_bind_get_method) (class_name , "get_trail_divisor\0" . as_ptr () as * const c_char) ; table . get_trail_size_modifier = (gd_api . godot_method_bind_get_method) (class_name , "get_trail_size_modifier\0" . as_ptr () as * const c_char) ; table . set_color = (gd_api . godot_method_bind_get_method) (class_name , "set_color\0" . as_ptr () as * const c_char) ; table . set_color_ramp = (gd_api . godot_method_bind_get_method) (class_name , "set_color_ramp\0" . as_ptr () as * const c_char) ; table . set_direction = (gd_api . godot_method_bind_get_method) (class_name , "set_direction\0" . as_ptr () as * const c_char) ; table . set_emission_box_extents = (gd_api . godot_method_bind_get_method) (class_name , "set_emission_box_extents\0" . as_ptr () as * const c_char) ; table . set_emission_color_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_emission_color_texture\0" . as_ptr () as * const c_char) ; table . set_emission_normal_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_emission_normal_texture\0" . as_ptr () as * const c_char) ; table . set_emission_point_count = (gd_api . godot_method_bind_get_method) (class_name , "set_emission_point_count\0" . as_ptr () as * const c_char) ; table . set_emission_point_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_emission_point_texture\0" . as_ptr () as * const c_char) ; table . set_emission_shape = (gd_api . godot_method_bind_get_method) (class_name , "set_emission_shape\0" . as_ptr () as * const c_char) ; table . set_emission_sphere_radius = (gd_api . godot_method_bind_get_method) (class_name , "set_emission_sphere_radius\0" . as_ptr () as * const c_char) ; table . set_flag = (gd_api . godot_method_bind_get_method) (class_name , "set_flag\0" . as_ptr () as * const c_char) ; table . set_flatness = (gd_api . godot_method_bind_get_method) (class_name , "set_flatness\0" . as_ptr () as * const c_char) ; table . set_gravity = (gd_api . godot_method_bind_get_method) (class_name , "set_gravity\0" . as_ptr () as * const c_char) ; table . set_lifetime_randomness = (gd_api . godot_method_bind_get_method) (class_name , "set_lifetime_randomness\0" . as_ptr () as * const c_char) ; table . set_param = (gd_api . godot_method_bind_get_method) (class_name , "set_param\0" . as_ptr () as * const c_char) ; table . set_param_randomness = (gd_api . godot_method_bind_get_method) (class_name , "set_param_randomness\0" . as_ptr () as * const c_char) ; table . set_param_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_param_texture\0" . as_ptr () as * const c_char) ; table . set_spread = (gd_api . godot_method_bind_get_method) (class_name , "set_spread\0" . as_ptr () as * const c_char) ; table . set_trail_color_modifier = (gd_api . godot_method_bind_get_method) (class_name , "set_trail_color_modifier\0" . as_ptr () as * const c_char) ; table . set_trail_divisor = (gd_api . godot_method_bind_get_method) (class_name , "set_trail_divisor\0" . as_ptr () as * const c_char) ; table . set_trail_size_modifier = (gd_api . godot_method_bind_get_method) (class_name , "set_trail_size_modifier\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2404:1398
[INFO] [stdout]      |
[INFO] [stdout] 2404 | ...el_case_types)] # [derive (Debug)] pub struct StyleBoxEmpty { this : RawObject < Self > , } impl StyleBoxEmpty { # [doc = "Crea...
[INFO] [stdout]      |                                                  -------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `StyleBoxEmpty` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2428:1516
[INFO] [stdout]      |
[INFO] [stdout] 2428 | ...e_types)] # [derive (Debug)] pub struct AudioEffectBandPassFilter { this : RawObject < Self > , } impl AudioEffectBandPassFilte...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectBandPassFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2440:1516
[INFO] [stdout]      |
[INFO] [stdout] 2440 | ...e_types)] # [derive (Debug)] pub struct AudioEffectHighPassFilter { this : RawObject < Self > , } impl AudioEffectHighPassFilte...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectHighPassFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2470:1353
[INFO] [stdout]      |
[INFO] [stdout] 2470 | ...mel_case_types)] # [derive (Debug)] pub struct VideoStream { this : RawObject < Self > , } impl VideoStream { } impl gdnative_c...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VideoStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2488:1474
[INFO] [stdout]      |
[INFO] [stdout] 2488 | ...e_types)] # [derive (Debug)] pub struct VisualShaderNodeDotProduct { this : RawObject < Self > , } impl VisualShaderNodeDotProd...
[INFO] [stdout]      |                                            --------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeDotProduct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2542:1490
[INFO] [stdout]      |
[INFO] [stdout] 2542 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorDistance { this : RawObject < Self > , } impl VisualShaderNodeVecto...
[INFO] [stdout]      |                                          ------------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorDistance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2584:1460
[INFO] [stdout]      |
[INFO] [stdout] 2584 | ...el_case_types)] # [derive (Debug)] pub struct AudioEffectEQ6 { this : RawObject < Self > , } impl AudioEffectEQ6 { # [doc = "Cr...
[INFO] [stdout]      |                                                  --------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectEQ6` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2602:1387
[INFO] [stdout]      |
[INFO] [stdout] 2602 | ..._case_types)] # [derive (Debug)] pub struct StreamPeerGDNative { this : RawObject < Self > , } impl StreamPeerGDNative { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `StreamPeerGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2716:1553
[INFO] [stdout]      |
[INFO] [stdout] 2716 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeScalarSwitch { this : RawObject < Self > , } impl VisualShaderNodeScalar...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeScalarSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2746:1321
[INFO] [stdout]      |
[INFO] [stdout] 2746 | ...mel_case_types)] # [derive (Debug)] pub struct TriangleMesh { this : RawObject < Self > , } impl TriangleMesh { # [doc = "Creat...
[INFO] [stdout]      |                                                   ------------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TriangleMesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2788:1880
[INFO] [stdout]      |
[INFO] [stdout] 2788 | ...mel_case_types)] # [derive (Debug)] pub struct CheckButton { this : RawObject < Self > , } impl CheckButton { # [doc = "Creates...
[INFO] [stdout]      |                                                   -----------   ^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CheckButton` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2866:1486
[INFO] [stdout]      |
[INFO] [stdout] 2866 | ...types)] # [derive (Debug)] pub struct VisualShaderNodeVectorRefract { this : RawObject < Self > , } impl VisualShaderNodeVector...
[INFO] [stdout]      |                                          -----------------------------   ^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorRefract` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2956:1552
[INFO] [stdout]      |
[INFO] [stdout] 2956 | ..._types)] # [derive (Debug)] pub struct VisualShaderNodeVec3Uniform { this : RawObject < Self > , } impl VisualShaderNodeVec3Uni...
[INFO] [stdout]      |                                           ---------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVec3Uniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2968:1516
[INFO] [stdout]      |
[INFO] [stdout] 2968 | ...e_types)] # [derive (Debug)] pub struct AudioEffectLowShelfFilter { this : RawObject < Self > , } impl AudioEffectLowShelfFilte...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioEffectLowShelfFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:2992:1477
[INFO] [stdout]      |
[INFO] [stdout] 2992 | ...e_types)] # [derive (Debug)] pub struct WebRTCDataChannelGDNative { this : RawObject < Self > , } impl WebRTCDataChannelGDNativ...
[INFO] [stdout]      |                                            -------------------------   ^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `WebRTCDataChannelGDNative` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3004:1454
[INFO] [stdout]      |
[INFO] [stdout] 3004 | ...ase_types)] # [derive (Debug)] pub struct VisualScriptSceneTree { this : RawObject < Self > , } impl VisualScriptSceneTree { # ...
[INFO] [stdout]      |                                              ---------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptSceneTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3028:1498
[INFO] [stdout]      |
[INFO] [stdout] 3028 | ...ypes)] # [derive (Debug)] pub struct VisualShaderNodeVectorSmoothStep { this : RawObject < Self > , } impl VisualShaderNodeVect...
[INFO] [stdout]      |                                         --------------------------------   ^^^^
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeVectorSmoothStep` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3040:1442
[INFO] [stdout]      |
[INFO] [stdout] 3040 | ..._case_types)] # [derive (Debug)] pub struct VisualScriptSwitch { this : RawObject < Self > , } impl VisualScriptSwitch { # [doc...
[INFO] [stdout]      |                                                ------------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3046:1349
[INFO] [stdout]      |
[INFO] [stdout] 3046 | ...case_types)] # [derive (Debug)] pub struct AudioStreamPlayback { this : RawObject < Self > , } impl AudioStreamPlayback { } imp...
[INFO] [stdout]      |                                               -------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioStreamPlayback` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3118:1926
[INFO] [stdout]      |
[INFO] [stdout] 3118 | ...l_case_types)] # [derive (Debug)] pub struct VSplitContainer { this : RawObject < Self > , } impl VSplitContainer { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VSplitContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3202:1450
[INFO] [stdout]      |
[INFO] [stdout] 3202 | ...case_types)] # [derive (Debug)] pub struct VisualScriptIterator { this : RawObject < Self > , } impl VisualScriptIterator { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptIterator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3250:1872
[INFO] [stdout]      |
[INFO] [stdout] 3250 | ...l_case_types)] # [derive (Debug)] pub struct MarginContainer { this : RawObject < Self > , } impl MarginContainer { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MarginContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3280:1293
[INFO] [stdout]      |
[INFO] [stdout] 3280 | ...el_case_types)] # [derive (Debug)] pub struct RootMotionView { this : RawObject < Self > , } impl RootMotionView { } impl gdnat...
[INFO] [stdout]      |                                                  --------------   ^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RootMotionView` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3388:1429
[INFO] [stdout]      |
[INFO] [stdout] 3388 | ..._case_types)] # [derive (Debug)] pub struct AnimationRootNode { this : RawObject < Self > , } impl AnimationRootNode { # [doc =...
[INFO] [stdout]      |                                                -----------------   ^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AnimationRootNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3496:1842
[INFO] [stdout]      |
[INFO] [stdout] 3496 | ...amel_case_types)] # [derive (Debug)] pub struct HSeparator { this : RawObject < Self > , } impl HSeparator { # [doc = "Creates ...
[INFO] [stdout]      |                                                    ----------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HSeparator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3520:1454
[INFO] [stdout]      |
[INFO] [stdout] 3520 | ..._types)] # [derive (Debug)] pub struct AudioStreamPlaybackResampled { this : RawObject < Self > , } impl AudioStreamPlaybackRes...
[INFO] [stdout]      |                                           ----------------------------   ^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `AudioStreamPlaybackResampled` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3526:1926
[INFO] [stdout]      |
[INFO] [stdout] 3526 | ...l_case_types)] # [derive (Debug)] pub struct HSplitContainer { this : RawObject < Self > , } impl HSplitContainer { # [doc = "C...
[INFO] [stdout]      |                                                 ---------------   ^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `HSplitContainer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3580:1400
[INFO] [stdout]      |
[INFO] [stdout] 3580 | ...amel_case_types)] # [derive (Debug)] pub struct Texture3D { this : RawObject < Self > , } impl Texture3D { # [doc = "Creates a ...
[INFO] [stdout]      |                                                    ---------   ^^^^
[INFO] [stdout]      |                                                    |
[INFO] [stdout]      |                                                    field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Texture3D` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3676:1458
[INFO] [stdout]      |
[INFO] [stdout] 3676 | ...ase_types)] # [derive (Debug)] pub struct VisualShaderNodeSwitch { this : RawObject < Self > , } impl VisualShaderNodeSwitch { ...
[INFO] [stdout]      |                                              ----------------------   ^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualShaderNodeSwitch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3730:1165
[INFO] [stdout]      |
[INFO] [stdout] 3730 | ...camel_case_types)] # [derive (Debug)] pub struct IP_Unix { this : RawObject < Self > , } impl IP_Unix { } impl gdnative_core ::...
[INFO] [stdout]      |                                                     -------   ^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `IP_Unix` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `this` is never read
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:3760:1450
[INFO] [stdout]      |
[INFO] [stdout] 3760 | ...case_types)] # [derive (Debug)] pub struct VisualScriptIndexGet { this : RawObject < Self > , } impl VisualScriptIndexGet { # [...
[INFO] [stdout]      |                                               --------------------   ^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = note: `VisualScriptIndexGet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:664:102938
[INFO] [stdout]     |
[INFO] [stdout] 664 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 664 |                 # [doc = "`core singleton class OS` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_os.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nOS inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct OS { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct HandleType (pub i64) ; impl HandleType { pub const APPLICATION_HANDLE : HandleType = HandleType (0i64) ; pub const DISPLAY_HANDLE : HandleType = HandleType (1i64) ; pub const WINDOW_HANDLE : HandleType = HandleType (2i64) ; pub const WINDOW_VIEW : HandleType = HandleType (3i64) ; pub const OPENGL_CONTEXT : HandleType = HandleType (4i64) ; } impl From < i64 > for HandleType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < HandleType > for i64 { # [inline] fn from (v : HandleType) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Month (pub i64) ; impl Month { pub const JANUARY : Month = Month (1i64) ; pub const FEBRUARY : Month = Month (2i64) ; pub const MARCH : Month = Month (3i64) ; pub const APRIL : Month = Month (4i64) ; pub const MAY : Month = Month (5i64) ; pub const JUNE : Month = Month (6i64) ; pub const JULY : Month = Month (7i64) ; pub const AUGUST : Month = Month (8i64) ; pub const SEPTEMBER : Month = Month (9i64) ; pub const OCTOBER : Month = Month (10i64) ; pub const NOVEMBER : Month = Month (11i64) ; pub const DECEMBER : Month = Month (12i64) ; } impl From < i64 > for Month { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Month > for i64 { # [inline] fn from (v : Month) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct PowerState (pub i64) ; impl PowerState { pub const UNKNOWN : PowerState = PowerState (0i64) ; pub const ON_BATTERY : PowerState = PowerState (1i64) ; pub const NO_BATTERY : PowerState = PowerState (2i64) ; pub const CHARGING : PowerState = PowerState (3i64) ; pub const CHARGED : PowerState = PowerState (4i64) ; } impl From < i64 > for PowerState { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < PowerState > for i64 { # [inline] fn from (v : PowerState) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ScreenOrientation (pub i64) ; impl ScreenOrientation { pub const LANDSCAPE : ScreenOrientation = ScreenOrientation (0i64) ; pub const PORTRAIT : ScreenOrientation = ScreenOrientation (1i64) ; pub const REVERSE_LANDSCAPE : ScreenOrientation = ScreenOrientation (2i64) ; pub const REVERSE_PORTRAIT : ScreenOrientation = ScreenOrientation (3i64) ; pub const SENSOR_LANDSCAPE : ScreenOrientation = ScreenOrientation (4i64) ; pub const SENSOR_PORTRAIT : ScreenOrientation = ScreenOrientation (5i64) ; pub const SENSOR : ScreenOrientation = ScreenOrientation (6i64) ; } impl From < i64 > for ScreenOrientation { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ScreenOrientation > for i64 { # [inline] fn from (v : ScreenOrientation) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct SystemDir (pub i64) ; impl SystemDir { pub const DESKTOP : SystemDir = SystemDir (0i64) ; pub const DCIM : SystemDir = SystemDir (1i64) ; pub const DOCUMENTS : SystemDir = SystemDir (2i64) ; pub const DOWNLOADS : SystemDir = SystemDir (3i64) ; pub const MOVIES : SystemDir = SystemDir (4i64) ; pub const MUSIC : SystemDir = SystemDir (5i64) ; pub const PICTURES : SystemDir = SystemDir (6i64) ; pub const RINGTONES : SystemDir = SystemDir (7i64) ; } impl From < i64 > for SystemDir { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < SystemDir > for i64 { # [inline] fn from (v : SystemDir) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct VideoDriver (pub i64) ; impl VideoDriver { pub const GLES3 : VideoDriver = VideoDriver (0i64) ; pub const GLES2 : VideoDriver = VideoDriver (1i64) ; } impl From < i64 > for VideoDriver { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < VideoDriver > for i64 { # [inline] fn from (v : VideoDriver) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Weekday (pub i64) ; impl Weekday { pub const SUNDAY : Weekday = Weekday (0i64) ; pub const MONDAY : Weekday = Weekday (1i64) ; pub const TUESDAY : Weekday = Weekday (2i64) ; pub const WEDNESDAY : Weekday = Weekday (3i64) ; pub const THURSDAY : Weekday = Weekday (4i64) ; pub const FRIDAY : Weekday = Weekday (5i64) ; pub const SATURDAY : Weekday = Weekday (6i64) ; } impl From < i64 > for Weekday { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Weekday > for i64 { # [inline] fn from (v : Weekday) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl OS { pub const APPLICATION_HANDLE : i64 = 0i64 ; pub const DAY_FRIDAY : i64 = 5i64 ; pub const DAY_MONDAY : i64 = 1i64 ; pub const DAY_SATURDAY : i64 = 6i64 ; pub const DAY_SUNDAY : i64 = 0i64 ; pub const DAY_THURSDAY : i64 = 4i64 ; pub const DAY_TUESDAY : i64 = 2i64 ; pub const DAY_WEDNESDAY : i64 = 3i64 ; pub const DISPLAY_HANDLE : i64 = 1i64 ; pub const MONTH_APRIL : i64 = 4i64 ; pub const MONTH_AUGUST : i64 = 8i64 ; pub const MONTH_DECEMBER : i64 = 12i64 ; pub const MONTH_FEBRUARY : i64 = 2i64 ; pub const MONTH_JANUARY : i64 = 1i64 ; pub const MONTH_JULY : i64 = 7i64 ; pub const MONTH_JUNE : i64 = 6i64 ; pub const MONTH_MARCH : i64 = 3i64 ; pub const MONTH_MAY : i64 = 5i64 ; pub const MONTH_NOVEMBER : i64 = 11i64 ; pub const MONTH_OCTOBER : i64 = 10i64 ; pub const MONTH_SEPTEMBER : i64 = 9i64 ; pub const OPENGL_CONTEXT : i64 = 4i64 ; pub const POWERSTATE_CHARGED : i64 = 4i64 ; pub const POWERSTATE_CHARGING : i64 = 3i64 ; pub const POWERSTATE_NO_BATTERY : i64 = 2i64 ; pub const POWERSTATE_ON_BATTERY : i64 = 1i64 ; pub const POWERSTATE_UNKNOWN : i64 = 0i64 ; pub const SCREEN_ORIENTATION_LANDSCAPE : i64 = 0i64 ; pub const SCREEN_ORIENTATION_PORTRAIT : i64 = 1i64 ; pub const SCREEN_ORIENTATION_REVERSE_LANDSCAPE : i64 = 2i64 ; pub const SCREEN_ORIENTATION_REVERSE_PORTRAIT : i64 = 3i64 ; pub const SCREEN_ORIENTATION_SENSOR : i64 = 6i64 ; pub const SCREEN_ORIENTATION_SENSOR_LANDSCAPE : i64 = 4i64 ; pub const SCREEN_ORIENTATION_SENSOR_PORTRAIT : i64 = 5i64 ; pub const SYSTEM_DIR_DCIM : i64 = 1i64 ; pub const SYSTEM_DIR_DESKTOP : i64 = 0i64 ; pub const SYSTEM_DIR_DOCUMENTS : i64 = 2i64 ; pub const SYSTEM_DIR_DOWNLOADS : i64 = 3i64 ; pub const SYSTEM_DIR_MOVIES : i64 = 4i64 ; pub const SYSTEM_DIR_MUSIC : i64 = 5i64 ; pub const SYSTEM_DIR_PICTURES : i64 = 6i64 ; pub const SYSTEM_DIR_RINGTONES : i64 = 7i64 ; pub const VIDEO_DRIVER_GLES2 : i64 = 1i64 ; pub const VIDEO_DRIVER_GLES3 : i64 = 0i64 ; pub const WINDOW_HANDLE : i64 = 2i64 ; pub const WINDOW_VIEW : i64 = 3i64 ; } impl OS { # [doc = "Returns a reference to the singleton instance."] # [inline] pub fn godot_singleton () -> & 'static Self { unsafe { let this = (get_api () . godot_global_get_singleton) ("OS\0" . as_ptr () as * mut _) ; let this = ptr :: NonNull :: new (this) . expect ("singleton should not be null") ; let this = RawObject :: from_sys_ref_unchecked :: < 'static > (this) ; Self :: cast_ref (this) } } # [doc = "Displays a modal dialog box using the host OS' facilities. Execution is blocked until the dialog is closed.\n# Default Arguments\n* `title` - `\"Alert!\"`"] # [doc = ""] # [inline] pub fn alert (& self , text : impl Into < GodotString > , title : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . alert ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , text . into () , title . into ()) ; } } # [doc = "Returns `true` if the host OS allows drawing."] # [doc = ""] # [inline] pub fn can_draw (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . can_draw ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the current host platform is using multiple threads."] # [doc = ""] # [inline] pub fn can_use_threads (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . can_use_threads ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Centers the window on the screen if in windowed mode."] # [doc = ""] # [inline] pub fn center_window (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . center_window ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Shuts down system MIDI driver.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn close_midi_inputs (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . close_midi_inputs ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Delay execution of the current thread by `msec` milliseconds."] # [doc = ""] # [inline] pub fn delay_msec (& self , msec : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . delay_msec ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , msec) ; } } # [doc = "Delay execution of the current thread by `usec` microseconds."] # [doc = ""] # [inline] pub fn delay_usec (& self , usec : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . delay_usec ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , usec) ; } } # [doc = "Dumps the memory allocation ringlist to a file (only works in debug).\nEntry format per line: \"Address - Size - Description\"."] # [doc = ""] # [inline] pub fn dump_memory_to_file (& self , file : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . dump_memory_to_file ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , file . into ()) ; } } # [doc = "Dumps all used resources to file (only works in debug).\nEntry format per line: \"Resource Type : Resource Location\".\nAt the end of the file is a statistic of all used Resource Types."] # [doc = ""] # [inline] pub fn dump_resources_to_file (& self , file : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . dump_resources_to_file ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , file . into ()) ; } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nExecute the file at the given path with the arguments passed as an array of strings. Platform path resolution will take place. The resolved file must exist and be executable.\nThe arguments are used in the given order and separated by a space, so `OS.execute(\"ping\", [\"-w\", \"3\", \"godotengine.org\"], false)` will resolve to `ping -w 3 godotengine.org` in the system's shell.\nThis method has slightly different behavior based on whether the `blocking` mode is enabled.\nIf `blocking` is `true`, the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the `output` array as a single string. When the process terminates, the Godot thread will resume execution.\nIf `blocking` is `false`, the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so `output` will be empty.\nThe return value also depends on the blocking mode. When blocking, the method will return an exit code of the process. When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process forking (non-blocking) or opening (blocking) fails, the method will return `-1` or another exit code.\nExample of blocking mode and retrieving the shell output:\n```gdscript\nvar output = []\nvar exit_code = OS.execute(\"ls\", [\"-l\", \"/tmp\"], true, output)\n```\nExample of non-blocking mode, running another instance of the project and storing its process ID:\n```gdscript\nvar pid = OS.execute(OS.get_executable_path(), [], false)\n```\nIf you wish to access a shell built-in or perform a composite command, a platform-specific shell can be invoked. For example:\n```gdscript\nOS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], true, output)\n```\n**Note:** This method is implemented on Android, iOS, Linux, macOS and Windows.\n# Default Arguments\n* `blocking` - `true`\n* `output` - `[  ]`\n* `read_stderr` - `false`"] # [doc = ""] # [inline] pub fn execute (& self , path : impl Into < GodotString > , arguments : StringArray , blocking : bool , output : VariantArray , read_stderr : bool) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . execute ; let ret = crate :: icalls :: icallptr_i64_str_strarr_bool_arr_bool (method_bind , self . this . sys () . as_ptr () , path . into () , arguments , blocking , output , read_stderr) ; ret as _ } } # [doc = "Returns the scancode of the given string (e.g. \"Escape\")."] # [doc = ""] # [inline] pub fn find_scancode_from_string (& self , string : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . find_scancode_from_string ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , string . into ()) ; ret as _ } } # [doc = "Returns the total number of available audio drivers."] # [doc = ""] # [inline] pub fn get_audio_driver_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_audio_driver_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the audio driver name for the given index."] # [doc = ""] # [inline] pub fn get_audio_driver_name (& self , driver : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_audio_driver_name ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , driver) ; GodotString :: from_sys (ret) } } # [doc = "If `true`, removes the window frame.\n**Note:** Setting `window_borderless` to `false` disables per-pixel transparency."] # [doc = ""] # [inline] pub fn borderless_window (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_borderless_window ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The clipboard from the host OS. Might be unavailable on some platforms."] # [doc = ""] # [inline] pub fn clipboard (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_clipboard ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nReturns the command-line arguments passed to the engine.\nCommand-line arguments can be written in any form, including both `--key value` and `--key=value` forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.\nYou can also incorporate environment variables using the [method get_environment] method.\nYou can set `editor/main_run_args` in the Project Settings to define command-line arguments to be passed by the editor when running the project.\nHere's a minimal example on how to parse command-line arguments into a dictionary using the `--key=value` form for arguments:\n```gdscript\nvar arguments = {}\nfor argument in OS.get_cmdline_args():\n    if argument.find(\"=\") > -1:\n        var key_value = argument.split(\"=\")\n        arguments[key_value[0].lstrip(\"--\")] = key_value[1]\n```"] # [doc = ""] # [inline] pub fn get_cmdline_args (& self) -> StringArray { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_cmdline_args ; let ret = crate :: icalls :: icallptr_strarr (method_bind , self . this . sys () . as_ptr ()) ; StringArray :: from_sys (ret) } } # [doc = "Returns an array of MIDI device names.\nThe returned array will be empty if the system MIDI driver has not previously been initialised with [method open_midi_inputs].\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn get_connected_midi_inputs (& self) -> StringArray { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_connected_midi_inputs ; let ret = crate :: icalls :: icallptr_strarr (method_bind , self . this . sys () . as_ptr ()) ; StringArray :: from_sys (ret) } } # [doc = "The current screen index (starting from 0)."] # [doc = ""] # [inline] pub fn current_screen (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_current_screen ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The current tablet drvier in use."] # [doc = ""] # [inline] pub fn current_tablet_driver (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_current_tablet_driver ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the currently used video driver, using one of the values from [enum VideoDriver]."] # [doc = ""] # [inline] pub fn get_current_video_driver (& self) -> crate :: generated :: os :: VideoDriver { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_current_video_driver ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: os :: VideoDriver (ret) } } # [doc = "Returns current date as a dictionary of keys: `year`, `month`, `day`, `weekday`, `dst` (Daylight Savings Time).\n# Default Arguments\n* `utc` - `false`"] # [doc = ""] # [inline] pub fn get_date (& self , utc : bool) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_date ; let ret = crate :: icalls :: icallptr_dict_bool (method_bind , self . this . sys () . as_ptr () , utc) ; Dictionary :: from_sys (ret) } } # [doc = "Returns current datetime as a dictionary of keys: `year`, `month`, `day`, `weekday`, `dst` (Daylight Savings Time), `hour`, `minute`, `second`.\n# Default Arguments\n* `utc` - `false`"] # [doc = ""] # [inline] pub fn get_datetime (& self , utc : bool) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_datetime ; let ret = crate :: icalls :: icallptr_dict_bool (method_bind , self . this . sys () . as_ptr () , utc) ; Dictionary :: from_sys (ret) } } # [doc = "Gets a dictionary of time values corresponding to the given UNIX epoch time (in seconds).\nThe returned Dictionary's values will be the same as [method get_datetime], with the exception of Daylight Savings Time as it cannot be determined from the epoch."] # [doc = ""] # [inline] pub fn get_datetime_from_unix_time (& self , unix_time_val : i64) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_datetime_from_unix_time ; let ret = crate :: icalls :: icallptr_dict_i64 (method_bind , self . this . sys () . as_ptr () , unix_time_val) ; Dictionary :: from_sys (ret) } } # [doc = "Returns the total amount of dynamic memory used (only works in debug)."] # [doc = ""] # [inline] pub fn get_dynamic_memory_usage (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_dynamic_memory_usage ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an environment variable."] # [doc = ""] # [inline] pub fn get_environment (& self , variable : impl Into < GodotString >) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_environment ; let ret = crate :: icalls :: icallptr_str_str (method_bind , self . this . sys () . as_ptr () , variable . into ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the path to the current engine executable."] # [doc = ""] # [inline] pub fn get_executable_path (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_executable_path ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "The exit code passed to the OS when the main loop exits. By convention, an exit code of `0` indicates success whereas a non-zero exit code indicates an error. For portability reasons, the exit code should be set between 0 and 125 (inclusive).\n**Note:** This value will be ignored if using [method SceneTree.quit] with an `exit_code` argument passed."] # [doc = ""] # [inline] pub fn exit_code (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_exit_code ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "With this function you can get the list of dangerous permissions that have been granted to the Android application.\n**Note:** This method is implemented on Android."] # [doc = ""] # [inline] pub fn get_granted_permissions (& self) -> StringArray { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_granted_permissions ; let ret = crate :: icalls :: icallptr_strarr (method_bind , self . this . sys () . as_ptr ()) ; StringArray :: from_sys (ret) } } # [doc = "Returns the IME cursor position (the currently-edited portion of the string) relative to the characters in the composition string.\n[constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME cursor position.\n**Note:** This method is implemented on macOS."] # [doc = ""] # [inline] pub fn get_ime_selection (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_ime_selection ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the IME intermediate composition string.\n[constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME composition string.\n**Note:** This method is implemented on macOS."] # [doc = ""] # [inline] pub fn get_ime_text (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_ime_text ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the current latin keyboard variant as a String.\nPossible return values are: `\"QWERTY\"`, `\"AZERTY\"`, `\"QZERTY\"`, `\"DVORAK\"`, `\"NEO\"`, `\"COLEMAK\"` or `\"ERROR\"`.\n**Note:** This method is implemented on Linux, macOS and Windows. Returns `\"QWERTY\"` on unsupported platforms."] # [doc = ""] # [inline] pub fn get_latin_keyboard_variant (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_latin_keyboard_variant ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the host OS locale."] # [doc = ""] # [inline] pub fn get_locale (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_locale ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "The amount of sleeping between frames when the low-processor usage mode is enabled (in microseconds). Higher values will result in lower CPU usage."] # [doc = ""] # [inline] pub fn low_processor_usage_mode_sleep_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_low_processor_usage_mode_sleep_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The maximum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to `(0, 0)` to reset to the system default value."] # [doc = ""] # [inline] pub fn max_window_size (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_max_window_size ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The minimum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to `(0, 0)` to reset to the system default value."] # [doc = ""] # [inline] pub fn min_window_size (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_min_window_size ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the model name of the current device.\n**Note:** This method is implemented on Android and iOS. Returns `\"GenericDevice\"` on unsupported platforms."] # [doc = ""] # [inline] pub fn get_model_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_model_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the name of the host OS. Possible values are: `\"Android\"`, `\"iOS\"`, `\"HTML5\"`, `\"OSX\"`, `\"Server\"`, `\"Windows\"`, `\"UWP\"`, `\"X11\"`."] # [doc = ""] # [inline] pub fn get_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_native_handle (& self , handle_type : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_native_handle ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , handle_type) ; ret as _ } } # [doc = "Returns the amount of battery left in the device as a percentage. Returns `-1` if power state is unknown.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn get_power_percent_left (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_power_percent_left ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an estimate of the time left in seconds before the device runs out of battery. Returns `-1` if power state is unknown.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn get_power_seconds_left (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_power_seconds_left ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the current state of the device regarding battery and power. See [enum PowerState] constants.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn get_power_state (& self) -> crate :: generated :: os :: PowerState { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_power_state ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: os :: PowerState (ret) } } # [doc = "Returns the project's process ID.\n**Note:** This method is implemented on Android, iOS, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn get_process_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_process_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the number of threads available on the host machine."] # [doc = ""] # [inline] pub fn get_processor_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_processor_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the window size including decorations like window borders."] # [doc = ""] # [inline] pub fn get_real_window_size (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_real_window_size ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the given scancode as a string (e.g. Return values: `\"Escape\"`, `\"Shift+Escape\"`).\nSee also [member InputEventKey.scancode] and [method InputEventKey.get_scancode_with_modifiers]."] # [doc = ""] # [inline] pub fn get_scancode_string (& self , code : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_scancode_string ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , code) ; GodotString :: from_sys (ret) } } # [doc = "Returns the number of displays attached to the host machine."] # [doc = ""] # [inline] pub fn get_screen_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_screen_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nReturns the dots per inch density of the specified screen. If `screen` is `-1` (the default value), the current screen will be used.\nOn Android devices, the actual screen densities are grouped into six generalized densities:\n```gdscript\n   ldpi - 120 dpi\n   mdpi - 160 dpi\n   hdpi - 240 dpi\n  xhdpi - 320 dpi\n xxhdpi - 480 dpi\nxxxhdpi - 640 dpi\n```\n**Note:** This method is implemented on Android, Linux, macOS and Windows. Returns `72` on unsupported platforms.\n# Default Arguments\n* `screen` - `-1`"] # [doc = ""] # [inline] pub fn get_screen_dpi (& self , screen : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_screen_dpi ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , screen) ; ret as _ } } # [doc = "Return the greatest scale factor of all screens.\n**Note:** On macOS returned value is `2.0` if there is at least one hiDPI (Retina) screen in the system, and `1.0` in all other cases.\n**Note:** This method is implemented on macOS."] # [doc = ""] # [inline] pub fn get_screen_max_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_screen_max_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The current screen orientation."] # [doc = ""] # [inline] pub fn screen_orientation (& self) -> crate :: generated :: os :: ScreenOrientation { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_screen_orientation ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: os :: ScreenOrientation (ret) } } # [doc = "Returns the position of the specified screen by index. If `screen` is `-1` (the default value), the current screen will be used.\n# Default Arguments\n* `screen` - `-1`"] # [doc = ""] # [inline] pub fn get_screen_position (& self , screen : i64) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_screen_position ; let ret = crate :: icalls :: icallptr_vec2_i64 (method_bind , self . this . sys () . as_ptr () , screen) ; mem :: transmute (ret) } } # [doc = "Return the scale factor of the specified screen by index. If `screen` is `-1` (the default value), the current screen will be used.\n**Note:** On macOS returned value is `2.0` for hiDPI (Retina) screen, and `1.0` for all other cases.\n**Note:** This method is implemented on macOS.\n# Default Arguments\n* `screen` - `-1`"] # [doc = ""] # [inline] pub fn get_screen_scale (& self , screen : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_screen_scale ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , screen) ; ret as _ } } # [doc = "Returns the dimensions in pixels of the specified screen. If `screen` is `-1` (the default value), the current screen will be used.\n# Default Arguments\n* `screen` - `-1`"] # [doc = ""] # [inline] pub fn get_screen_size (& self , screen : i64) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_screen_size ; let ret = crate :: icalls :: icallptr_vec2_i64 (method_bind , self . this . sys () . as_ptr () , screen) ; mem :: transmute (ret) } } # [doc = "Returns the amount of time in milliseconds it took for the boot logo to appear."] # [doc = ""] # [inline] pub fn get_splash_tick_msec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_splash_tick_msec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the maximum amount of static memory used (only works in debug)."] # [doc = ""] # [inline] pub fn get_static_memory_peak_usage (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_static_memory_peak_usage ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the amount of static memory being used by the program in bytes."] # [doc = ""] # [inline] pub fn get_static_memory_usage (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_static_memory_usage ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the actual path to commonly used folders across different platforms. Available locations are specified in [enum SystemDir].\n**Note:** This method is implemented on Android, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn get_system_dir (& self , dir : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_system_dir ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , dir) ; GodotString :: from_sys (ret) } } # [doc = "Returns the epoch time of the operating system in milliseconds."] # [doc = ""] # [inline] pub fn get_system_time_msecs (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_system_time_msecs ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the epoch time of the operating system in seconds."] # [doc = ""] # [inline] pub fn get_system_time_secs (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_system_time_secs ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the total number of available tablet drivers.\n**Note:** This method is implemented on Windows."] # [doc = ""] # [inline] pub fn get_tablet_driver_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_tablet_driver_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the tablet driver name for the given index.\n**Note:** This method is implemented on Windows."] # [doc = ""] # [inline] pub fn get_tablet_driver_name (& self , idx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_tablet_driver_name ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_thread_caller_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_thread_caller_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the amount of time passed in milliseconds since the engine started."] # [doc = ""] # [inline] pub fn get_ticks_msec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_ticks_msec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the amount of time passed in microseconds since the engine started."] # [doc = ""] # [inline] pub fn get_ticks_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_ticks_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns current time as a dictionary of keys: hour, minute, second.\n# Default Arguments\n* `utc` - `false`"] # [doc = ""] # [inline] pub fn get_time (& self , utc : bool) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_time ; let ret = crate :: icalls :: icallptr_dict_bool (method_bind , self . this . sys () . as_ptr () , utc) ; Dictionary :: from_sys (ret) } } # [doc = "Returns the current time zone as a dictionary with the keys: bias and name."] # [doc = ""] # [inline] pub fn get_time_zone_info (& self) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_time_zone_info ; let ret = crate :: icalls :: icallptr_dict (method_bind , self . this . sys () . as_ptr ()) ; Dictionary :: from_sys (ret) } } # [doc = "Returns a string that is unique to the device.\n**Note:** Returns an empty string on HTML5 and UWP, as this method isn't implemented on those platforms yet."] # [doc = ""] # [inline] pub fn get_unique_id (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_unique_id ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the current UNIX epoch timestamp."] # [doc = ""] # [inline] pub fn get_unix_time (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_unix_time ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets an epoch time value from a dictionary of time values.\n`datetime` must be populated with the following keys: `year`, `month`, `day`, `hour`, `minute`, `second`.\nYou can pass the output from [method get_datetime_from_unix_time] directly into this function. Daylight Savings Time (`dst`), if present, is ignored."] # [doc = ""] # [inline] pub fn get_unix_time_from_datetime (& self , datetime : Dictionary) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_unix_time_from_datetime ; let ret = crate :: icalls :: icallptr_i64_dict (method_bind , self . this . sys () . as_ptr () , datetime) ; ret as _ } } # [doc = "Returns the absolute directory path where user data is written (`user://`).\nOn Linux, this is `~/.local/share/godot/app_userdata/[project_name]`, or `~/.local/share/[custom_name]` if `use_custom_user_dir` is set.\nOn macOS, this is `~/Library/Application Support/Godot/app_userdata/[project_name]`, or `~/Library/Application Support/[custom_name]` if `use_custom_user_dir` is set.\nOn Windows, this is `%APPDATA%\\Godot\\app_userdata\\[project_name]`, or `%APPDATA%\\[custom_name]` if `use_custom_user_dir` is set. `%APPDATA%` expands to `%USERPROFILE%\\AppData\\Roaming`.\nIf the project name is empty, `user://` falls back to `res://`."] # [doc = ""] # [inline] pub fn get_user_data_dir (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_user_data_dir ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the number of video drivers supported on the current platform."] # [doc = ""] # [inline] pub fn get_video_driver_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_video_driver_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the name of the video driver matching the given `driver` index. This index is a value from [enum VideoDriver], and you can use [method get_current_video_driver] to get the current backend's index."] # [doc = ""] # [inline] pub fn get_video_driver_name (& self , driver : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_video_driver_name ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , driver) ; GodotString :: from_sys (ret) } } # [doc = "Returns the on-screen keyboard's height in pixels. Returns 0 if there is no keyboard or if it is currently hidden."] # [doc = ""] # [inline] pub fn get_virtual_keyboard_height (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_virtual_keyboard_height ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the window background is transparent and window frame is removed.\nUse `get_tree().get_root().set_transparent_background(true)` to disable main viewport background rendering.\n**Note:** This property has no effect if **Project > Project Settings > Display > Window > Per-pixel transparency > Allowed** setting is disabled.\n**Note:** This property is implemented on HTML5, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn window_per_pixel_transparency_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_window_per_pixel_transparency_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right."] # [doc = ""] # [inline] pub fn window_position (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_window_position ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns unobscured area of the window where interactive controls should be rendered."] # [doc = ""] # [inline] pub fn get_window_safe_area (& self) -> Rect2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_window_safe_area ; let ret = crate :: icalls :: icallptr_rect2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The size of the window (without counting window manager decorations)."] # [doc = ""] # [inline] pub fn window_size (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . get_window_size ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Add a new item with text \"label\" to global menu. Use \"_dock\" menu to add item to the macOS dock icon menu.\n**Note:** This method is implemented on macOS."] # [doc = ""] # [inline] pub fn global_menu_add_item (& self , menu : impl Into < GodotString > , label : impl Into < GodotString > , id : impl OwnedToVariant , meta : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . global_menu_add_item ; let ret = crate :: icalls :: icallptr_void_str_str_var_var (method_bind , self . this . sys () . as_ptr () , menu . into () , label . into () , id . owned_to_variant () , meta . owned_to_variant ()) ; } } # [doc = "Add a separator between items. Separators also occupy an index.\n**Note:** This method is implemented on macOS."] # [doc = ""] # [inline] pub fn global_menu_add_separator (& self , menu : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . global_menu_add_separator ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , menu . into ()) ; } } # [doc = "Clear the global menu, in effect removing all items.\n**Note:** This method is implemented on macOS."] # [doc = ""] # [inline] pub fn global_menu_clear (& self , menu : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . global_menu_clear ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , menu . into ()) ; } } # [doc = "Removes the item at index \"idx\" from the global menu. Note that the indexes of items after the removed item are going to be shifted by one.\n**Note:** This method is implemented on macOS."] # [doc = ""] # [inline] pub fn global_menu_remove_item (& self , menu : impl Into < GodotString > , idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . global_menu_remove_item ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , menu . into () , idx) ; } } # [doc = "Returns `true` if an environment variable exists."] # [doc = ""] # [inline] pub fn has_environment (& self , variable : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . has_environment ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , variable . into ()) ; ret as _ } } # [doc = "Returns `true` if the feature for the given feature tag is supported in the currently running instance, depending on platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. Refer to the [url=https://docs.godotengine.org/en/latest/getting_started/workflow/export/feature_tags.html]Feature Tags[/url] documentation for more details.\n**Note:** Tag names are case-sensitive."] # [doc = ""] # [inline] pub fn has_feature (& self , tag_name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . has_feature ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , tag_name . into ()) ; ret as _ } } # [doc = "Returns `true` if the device has a touchscreen or emulates one."] # [doc = ""] # [inline] pub fn has_touchscreen_ui_hint (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . has_touchscreen_ui_hint ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the platform has a virtual keyboard, `false` otherwise."] # [doc = ""] # [inline] pub fn has_virtual_keyboard (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . has_virtual_keyboard ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Hides the virtual keyboard if it is shown, does nothing otherwise."] # [doc = ""] # [inline] pub fn hide_virtual_keyboard (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . hide_virtual_keyboard ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns `true` if the Godot binary used to run the project is a [i]debug[/i] export template, or when running in the editor.\nReturns `false` if the Godot binary used to run the project is a [i]release[/i] export template.\nTo check whether the Godot binary used to run the project is an export template (debug or release), use `OS.has_feature(\"standalone\")` instead."] # [doc = ""] # [inline] pub fn is_debug_build (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_debug_build ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile."] # [doc = ""] # [inline] pub fn is_in_low_processor_usage_mode (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_in_low_processor_usage_mode ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the engine tries to keep the screen on while the game is running. Useful on mobile."] # [doc = ""] # [inline] pub fn is_keep_screen_on (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_keep_screen_on ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the **OK** button should appear on the left and **Cancel** on the right."] # [doc = ""] # [inline] pub fn is_ok_left_and_cancel_right (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_ok_left_and_cancel_right ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the input scancode corresponds to a Unicode character."] # [doc = ""] # [inline] pub fn is_scancode_unicode (& self , code : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_scancode_unicode ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , code) ; ret as _ } } # [doc = "Returns `true` if the engine was executed with `-v` (verbose stdout)."] # [doc = ""] # [inline] pub fn is_stdout_verbose (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_stdout_verbose ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the `user://` file system is persistent, so that its state is the same after a player quits and starts the game again. Relevant to the HTML5 platform, where this persistence may be unavailable."] # [doc = ""] # [inline] pub fn is_userfs_persistent (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_userfs_persistent ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, vertical synchronization (Vsync) is enabled."] # [doc = ""] # [inline] pub fn is_vsync_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_vsync_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true` and `vsync_enabled` is true, the operating system's window compositor will be used for vsync when the compositor is enabled and the game is in windowed mode.\n**Note:** This option is experimental and meant to alleviate stutter experienced by some users. However, some users have experienced a Vsync framerate halving (e.g. from 60 FPS to 30 FPS) when using it.\n**Note:** This property is only implemented on Windows."] # [doc = ""] # [inline] pub fn is_vsync_via_compositor_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_vsync_via_compositor_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the window should always be on top of other windows."] # [doc = ""] # [inline] pub fn is_window_always_on_top (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_window_always_on_top ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the window is currently focused.\n**Note:** Only implemented on desktop platforms. On other platforms, it will always return `true`."] # [doc = ""] # [inline] pub fn is_window_focused (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_window_focused ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the window is fullscreen."] # [doc = ""] # [inline] pub fn is_window_fullscreen (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_window_fullscreen ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the window is maximized."] # [doc = ""] # [inline] pub fn is_window_maximized (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_window_maximized ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the window is minimized."] # [doc = ""] # [inline] pub fn is_window_minimized (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_window_minimized ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the window is resizable by the user."] # [doc = ""] # [inline] pub fn is_window_resizable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . is_window_resizable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns active keyboard layout index.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn keyboard_get_current_layout (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . keyboard_get_current_layout ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the number of keyboard layouts.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn keyboard_get_layout_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . keyboard_get_layout_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the ISO-639/BCP-47 language code of the keyboard layout at position `index`.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn keyboard_get_layout_language (& self , index : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . keyboard_get_layout_language ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , index) ; GodotString :: from_sys (ret) } } # [doc = "Returns the localized name of the keyboard layout at position `index`.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn keyboard_get_layout_name (& self , index : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . keyboard_get_layout_name ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , index) ; GodotString :: from_sys (ret) } } # [doc = "Sets active keyboard layout.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn keyboard_set_current_layout (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . keyboard_set_current_layout ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "Kill (terminate) the process identified by the given process ID (`pid`), e.g. the one returned by [method execute] in non-blocking mode.\n**Note:** This method can also be used to kill processes that were not spawned by the game.\n**Note:** This method is implemented on Android, iOS, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn kill (& self , pid : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . kill ; let ret = crate :: icalls :: icallptr_i64_i64 (method_bind , self . this . sys () . as_ptr () , pid) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Moves the window to the front.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn move_window_to_foreground (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . move_window_to_foreground ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns `true` if native video is playing.\n**Note:** This method is implemented on Android and iOS."] # [doc = ""] # [inline] pub fn native_video_is_playing (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . native_video_is_playing ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Pauses native video playback.\n**Note:** This method is implemented on Android and iOS."] # [doc = ""] # [inline] pub fn native_video_pause (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . native_video_pause ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Plays native video from the specified path, at the given volume and with audio and subtitle tracks.\n**Note:** This method is implemented on Android and iOS, and the current Android implementation does not support the `volume`, `audio_track` and `subtitle_track` options."] # [doc = ""] # [inline] pub fn native_video_play (& self , path : impl Into < GodotString > , volume : f64 , audio_track : impl Into < GodotString > , subtitle_track : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . native_video_play ; let ret = crate :: icalls :: icallptr_i64_str_f64_str_str (method_bind , self . this . sys () . as_ptr () , path . into () , volume , audio_track . into () , subtitle_track . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Stops native video playback.\n**Note:** This method is implemented on Android and iOS."] # [doc = ""] # [inline] pub fn native_video_stop (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . native_video_stop ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Resumes native video playback.\n**Note:** This method is implemented on Android and iOS."] # [doc = ""] # [inline] pub fn native_video_unpause (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . native_video_unpause ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Initialises the singleton for the system MIDI driver.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn open_midi_inputs (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . open_midi_inputs ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Shows all resources in the game. Optionally, the list can be written to a file by specifying a file path in `tofile`.\n# Default Arguments\n* `tofile` - `\"\"`"] # [doc = ""] # [inline] pub fn print_all_resources (& self , tofile : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . print_all_resources ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , tofile . into ()) ; } } # [doc = "Shows the list of loaded textures sorted by size in memory."] # [doc = ""] # [inline] pub fn print_all_textures_by_size (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . print_all_textures_by_size ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Shows the number of resources loaded by the game of the given types."] # [doc = ""] # [inline] pub fn print_resources_by_type (& self , types : StringArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . print_resources_by_type ; let ret = crate :: icalls :: icallptr_void_strarr (method_bind , self . this . sys () . as_ptr () , types) ; } } # [doc = "Shows all resources currently used by the game.\n# Default Arguments\n* `short` - `false`"] # [doc = ""] # [inline] pub fn print_resources_in_use (& self , short : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . print_resources_in_use ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , short) ; } } # [doc = "Request the user attention to the window. It'll flash the taskbar button on Windows or bounce the dock icon on OSX.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn request_attention (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . request_attention ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "At the moment this function is only used by `AudioDriverOpenSL` to request permission for `RECORD_AUDIO` on Android."] # [doc = ""] # [inline] pub fn request_permission (& self , name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . request_permission ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = "With this function you can request dangerous permissions since normal permissions are automatically granted at install time in Android application.\n**Note:** This method is implemented on Android."] # [doc = ""] # [inline] pub fn request_permissions (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . request_permissions ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, removes the window frame.\n**Note:** Setting `window_borderless` to `false` disables per-pixel transparency."] # [doc = ""] # [inline] pub fn set_borderless_window (& self , borderless : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_borderless_window ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , borderless) ; } } # [doc = "The clipboard from the host OS. Might be unavailable on some platforms."] # [doc = ""] # [inline] pub fn set_clipboard (& self , clipboard : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_clipboard ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , clipboard . into ()) ; } } # [doc = "The current screen index (starting from 0)."] # [doc = ""] # [inline] pub fn set_current_screen (& self , screen : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_current_screen ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , screen) ; } } # [doc = "The current tablet drvier in use."] # [doc = ""] # [inline] pub fn set_current_tablet_driver (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_current_tablet_driver ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_environment (& self , variable : impl Into < GodotString > , value : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_environment ; let ret = crate :: icalls :: icallptr_bool_str_str (method_bind , self . this . sys () . as_ptr () , variable . into () , value . into ()) ; ret as _ } } # [doc = "The exit code passed to the OS when the main loop exits. By convention, an exit code of `0` indicates success whereas a non-zero exit code indicates an error. For portability reasons, the exit code should be set between 0 and 125 (inclusive).\n**Note:** This value will be ignored if using [method SceneTree.quit] with an `exit_code` argument passed."] # [doc = ""] # [inline] pub fn set_exit_code (& self , code : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_exit_code ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , code) ; } } # [doc = "Sets the game's icon using an [Image] resource.\nThe same image is used for window caption, taskbar/dock and window selection dialog. Image is scaled as needed.\n**Note:** This method is implemented on HTML5, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn set_icon (& self , icon : impl AsArg < crate :: generated :: image :: Image >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_icon ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , icon . as_arg_ptr ()) ; } } # [doc = "Sets whether IME input mode should be enabled.\nIf active IME handles key events before the application and creates an composition string and suggestion list.\nApplication can retrieve the composition status by using [method get_ime_selection] and [method get_ime_text] functions.\nCompleted composition string is committed when input is finished.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn set_ime_active (& self , active : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_ime_active ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , active) ; } } # [doc = "Sets position of IME suggestion list popup (in window coordinates).\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn set_ime_position (& self , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_ime_position ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , position) ; } } # [doc = "If `true`, the engine tries to keep the screen on while the game is running. Useful on mobile."] # [doc = ""] # [inline] pub fn set_keep_screen_on (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_keep_screen_on ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile."] # [doc = ""] # [inline] pub fn set_low_processor_usage_mode (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_low_processor_usage_mode ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The amount of sleeping between frames when the low-processor usage mode is enabled (in microseconds). Higher values will result in lower CPU usage."] # [doc = ""] # [inline] pub fn set_low_processor_usage_mode_sleep_usec (& self , usec : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_low_processor_usage_mode_sleep_usec ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , usec) ; } } # [doc = "The maximum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to `(0, 0)` to reset to the system default value."] # [doc = ""] # [inline] pub fn set_max_window_size (& self , size : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_max_window_size ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , size) ; } } # [doc = "The minimum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to `(0, 0)` to reset to the system default value."] # [doc = ""] # [inline] pub fn set_min_window_size (& self , size : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_min_window_size ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , size) ; } } # [doc = "Sets the game's icon using a multi-size platform-specific icon file (`*.ico` on Windows and `*.icns` on macOS).\nAppropriate size sub-icons are used for window caption, taskbar/dock and window selection dialog.\n**Note:** This method is implemented on macOS and Windows."] # [doc = ""] # [inline] pub fn set_native_icon (& self , filename : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_native_icon ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , filename . into ()) ; } } # [doc = "The current screen orientation."] # [doc = ""] # [inline] pub fn set_screen_orientation (& self , orientation : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_screen_orientation ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , orientation) ; } } # [doc = "Sets the name of the current thread."] # [doc = ""] # [inline] pub fn set_thread_name (& self , name : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_thread_name ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Enables backup saves if `enabled` is `true`."] # [doc = ""] # [inline] pub fn set_use_file_access_save_and_swap (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_use_file_access_save_and_swap ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, vertical synchronization (Vsync) is enabled."] # [doc = ""] # [inline] pub fn set_use_vsync (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_use_vsync ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true` and `vsync_enabled` is true, the operating system's window compositor will be used for vsync when the compositor is enabled and the game is in windowed mode.\n**Note:** This option is experimental and meant to alleviate stutter experienced by some users. However, some users have experienced a Vsync framerate halving (e.g. from 60 FPS to 30 FPS) when using it.\n**Note:** This property is only implemented on Windows."] # [doc = ""] # [inline] pub fn set_vsync_via_compositor (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_vsync_via_compositor ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Sets whether the window should always be on top.\n**Note:** This method is implemented on Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn set_window_always_on_top (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_always_on_top ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, the window is fullscreen."] # [doc = ""] # [inline] pub fn set_window_fullscreen (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_fullscreen ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, the window is maximized."] # [doc = ""] # [inline] pub fn set_window_maximized (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_maximized ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, the window is minimized."] # [doc = ""] # [inline] pub fn set_window_minimized (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_minimized ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_window_mouse_passthrough (& self , region : Vector2Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_mouse_passthrough ; let ret = crate :: icalls :: icallptr_void_vec2arr (method_bind , self . this . sys () . as_ptr () , region) ; } } # [doc = "If `true`, the window background is transparent and window frame is removed.\nUse `get_tree().get_root().set_transparent_background(true)` to disable main viewport background rendering.\n**Note:** This property has no effect if **Project > Project Settings > Display > Window > Per-pixel transparency > Allowed** setting is disabled.\n**Note:** This property is implemented on HTML5, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn set_window_per_pixel_transparency_enabled (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_per_pixel_transparency_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right."] # [doc = ""] # [inline] pub fn set_window_position (& self , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_position ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , position) ; } } # [doc = "If `true`, the window is resizable by the user."] # [doc = ""] # [inline] pub fn set_window_resizable (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_resizable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The size of the window (without counting window manager decorations)."] # [doc = ""] # [inline] pub fn set_window_size (& self , size : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_size ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , size) ; } } # [doc = "Sets the window title to the specified string.\n**Note:** This should be used sporadically. Don't set this every frame, as that will negatively affect performance on some window managers.\n**Note:** This method is implemented on HTML5, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn set_window_title (& self , title : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . set_window_title ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , title . into ()) ; } } # [doc = "Requests the OS to open a resource with the most appropriate program. For example:\n- `OS.shell_open(\"C:\\\\Users\\name\\Downloads\")` on Windows opens the file explorer at the user's Downloads folder.\n- `OS.shell_open(\"https://godotengine.org\")` opens the default web browser on the official Godot website.\n- `OS.shell_open(\"mailto:example@example.com\")` opens the default email client with the \"To\" field set to `example@example.com`. See [url=https://blog.escapecreative.com/customizing-mailto-links/]Customizing `mailto:` Links[/url] for a list of fields that can be added.\nUse [method ProjectSettings.globalize_path] to convert a `res://` or `user://` path into a system path for use with this method.\n**Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS and Windows."] # [doc = ""] # [inline] pub fn shell_open (& self , uri : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . shell_open ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , uri . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Shows the virtual keyboard if the platform has one.\nThe `existing_text` parameter is useful for implementing your own [LineEdit] or [TextEdit], as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).\nThe `multiline` parameter needs to be set to `true` to be able to enter multiple lines of text, as in [TextEdit].\n**Note:** This method is implemented on Android, iOS and UWP.\n# Default Arguments\n* `existing_text` - `\"\"`\n* `multiline` - `false`"] # [doc = ""] # [inline] pub fn show_virtual_keyboard (& self , existing_text : impl Into < GodotString > , multiline : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OSMethodTable :: get (get_api ()) . show_virtual_keyboard ; let ret = crate :: icalls :: icallptr_void_str_bool (method_bind , self . this . sys () . as_ptr () , existing_text . into () , multiline) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for OS { } unsafe impl GodotObject for OS { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "OS" } } impl std :: ops :: Deref for OS { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for OS { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for OS { } unsafe impl Send for OS { } unsafe impl Sync for OS { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct OSMethodTable { pub class_constructor : sys :: godot_class_constructor , pub alert : * mut sys :: godot_method_bind , pub can_draw : * mut sys :: godot_method_bind , pub can_use_threads : * mut sys :: godot_method_bind , pub center_window : * mut sys :: godot_method_bind , pub close_midi_inputs : * mut sys :: godot_method_bind , pub delay_msec : * mut sys :: godot_method_bind , pub delay_usec : * mut sys :: godot_method_bind , pub dump_memory_to_file : * mut sys :: godot_method_bind , pub dump_resources_to_file : * mut sys :: godot_method_bind , pub execute : * mut sys :: godot_method_bind , pub find_scancode_from_string : * mut sys :: godot_method_bind , pub get_audio_driver_count : * mut sys :: godot_method_bind , pub get_audio_driver_name : * mut sys :: godot_method_bind , pub get_borderless_window : * mut sys :: godot_method_bind , pub get_clipboard : * mut sys :: godot_method_bind , pub get_cmdline_args : * mut sys :: godot_method_bind , pub get_connected_midi_inputs : * mut sys :: godot_method_bind , pub get_current_screen : * mut sys :: godot_method_bind , pub get_current_tablet_driver : * mut sys :: godot_method_bind , pub get_current_video_driver : * mut sys :: godot_method_bind , pub get_date : * mut sys :: godot_method_bind , pub get_datetime : * mut sys :: godot_method_bind , pub get_datetime_from_unix_time : * mut sys :: godot_method_bind , pub get_dynamic_memory_usage : * mut sys :: godot_method_bind , pub get_environment : * mut sys :: godot_method_bind , pub get_executable_path : * mut sys :: godot_method_bind , pub get_exit_code : * mut sys :: godot_method_bind , pub get_granted_permissions : * mut sys :: godot_method_bind , pub get_ime_selection : * mut sys :: godot_method_bind , pub get_ime_text : * mut sys :: godot_method_bind , pub get_latin_keyboard_variant : * mut sys :: godot_method_bind , pub get_locale : * mut sys :: godot_method_bind , pub get_low_processor_usage_mode_sleep_usec : * mut sys :: godot_method_bind , pub get_max_window_size : * mut sys :: godot_method_bind , pub get_min_window_size : * mut sys :: godot_method_bind , pub get_model_name : * mut sys :: godot_method_bind , pub get_name : * mut sys :: godot_method_bind , pub get_native_handle : * mut sys :: godot_method_bind , pub get_power_percent_left : * mut sys :: godot_method_bind , pub get_power_seconds_left : * mut sys :: godot_method_bind , pub get_power_state : * mut sys :: godot_method_bind , pub get_process_id : * mut sys :: godot_method_bind , pub get_processor_count : * mut sys :: godot_method_bind , pub get_real_window_size : * mut sys :: godot_method_bind , pub get_scancode_string : * mut sys :: godot_method_bind , pub get_screen_count : * mut sys :: godot_method_bind , pub get_screen_dpi : * mut sys :: godot_method_bind , pub get_screen_max_scale : * mut sys :: godot_method_bind , pub get_screen_orientation : * mut sys :: godot_method_bind , pub get_screen_position : * mut sys :: godot_method_bind , pub get_screen_scale : * mut sys :: godot_method_bind , pub get_screen_size : * mut sys :: godot_method_bind , pub get_splash_tick_msec : * mut sys :: godot_method_bind , pub get_static_memory_peak_usage : * mut sys :: godot_method_bind , pub get_static_memory_usage : * mut sys :: godot_method_bind , pub get_system_dir : * mut sys :: godot_method_bind , pub get_system_time_msecs : * mut sys :: godot_method_bind , pub get_system_time_secs : * mut sys :: godot_method_bind , pub get_tablet_driver_count : * mut sys :: godot_method_bind , pub get_tablet_driver_name : * mut sys :: godot_method_bind , pub get_thread_caller_id : * mut sys :: godot_method_bind , pub get_ticks_msec : * mut sys :: godot_method_bind , pub get_ticks_usec : * mut sys :: godot_method_bind , pub get_time : * mut sys :: godot_method_bind , pub get_time_zone_info : * mut sys :: godot_method_bind , pub get_unique_id : * mut sys :: godot_method_bind , pub get_unix_time : * mut sys :: godot_method_bind , pub get_unix_time_from_datetime : * mut sys :: godot_method_bind , pub get_user_data_dir : * mut sys :: godot_method_bind , pub get_video_driver_count : * mut sys :: godot_method_bind , pub get_video_driver_name : * mut sys :: godot_method_bind , pub get_virtual_keyboard_height : * mut sys :: godot_method_bind , pub get_window_per_pixel_transparency_enabled : * mut sys :: godot_method_bind , pub get_window_position : * mut sys :: godot_method_bind , pub get_window_safe_area : * mut sys :: godot_method_bind , pub get_window_size : * mut sys :: godot_method_bind , pub global_menu_add_item : * mut sys :: godot_method_bind , pub global_menu_add_separator : * mut sys :: godot_method_bind , pub global_menu_clear : * mut sys :: godot_method_bind , pub global_menu_remove_item : * mut sys :: godot_method_bind , pub has_environment : * mut sys :: godot_method_bind , pub has_feature : * mut sys :: godot_method_bind , pub has_touchscreen_ui_hint : * mut sys :: godot_method_bind , pub has_virtual_keyboard : * mut sys :: godot_method_bind , pub hide_virtual_keyboard : * mut sys :: godot_method_bind , pub is_debug_build : * mut sys :: godot_method_bind , pub is_in_low_processor_usage_mode : * mut sys :: godot_method_bind , pub is_keep_screen_on : * mut sys :: godot_method_bind , pub is_ok_left_and_cancel_right : * mut sys :: godot_method_bind , pub is_scancode_unicode : * mut sys :: godot_method_bind , pub is_stdout_verbose : * mut sys :: godot_method_bind , pub is_userfs_persistent : * mut sys :: godot_method_bind , pub is_vsync_enabled : * mut sys :: godot_method_bind , pub is_vsync_via_compositor_enabled : * mut sys :: godot_method_bind , pub is_window_always_on_top : * mut sys :: godot_method_bind , pub is_window_focused : * mut sys :: godot_method_bind , pub is_window_fullscreen : * mut sys :: godot_method_bind , pub is_window_maximized : * mut sys :: godot_method_bind , pub is_window_minimized : * mut sys :: godot_method_bind , pub is_window_resizable : * mut sys :: godot_method_bind , pub keyboard_get_current_layout : * mut sys :: godot_method_bind , pub keyboard_get_layout_count : * mut sys :: godot_method_bind , pub keyboard_get_layout_language : * mut sys :: godot_method_bind , pub keyboard_get_layout_name : * mut sys :: godot_method_bind , pub keyboard_set_current_layout : * mut sys :: godot_method_bind , pub kill : * mut sys :: godot_method_bind , pub move_window_to_foreground : * mut sys :: godot_method_bind , pub native_video_is_playing : * mut sys :: godot_method_bind , pub native_video_pause : * mut sys :: godot_method_bind , pub native_video_play : * mut sys :: godot_method_bind , pub native_video_stop : * mut sys :: godot_method_bind , pub native_video_unpause : * mut sys :: godot_method_bind , pub open_midi_inputs : * mut sys :: godot_method_bind , pub print_all_resources : * mut sys :: godot_method_bind , pub print_all_textures_by_size : * mut sys :: godot_method_bind , pub print_resources_by_type : * mut sys :: godot_method_bind , pub print_resources_in_use : * mut sys :: godot_method_bind , pub request_attention : * mut sys :: godot_method_bind , pub request_permission : * mut sys :: godot_method_bind , pub request_permissions : * mut sys :: godot_method_bind , pub set_borderless_window : * mut sys :: godot_method_bind , pub set_clipboard : * mut sys :: godot_method_bind , pub set_current_screen : * mut sys :: godot_method_bind , pub set_current_tablet_driver : * mut sys :: godot_method_bind , pub set_environment : * mut sys :: godot_method_bind , pub set_exit_code : * mut sys :: godot_method_bind , pub set_icon : * mut sys :: godot_method_bind , pub set_ime_active : * mut sys :: godot_method_bind , pub set_ime_position : * mut sys :: godot_method_bind , pub set_keep_screen_on : * mut sys :: godot_method_bind , pub set_low_processor_usage_mode : * mut sys :: godot_method_bind , pub set_low_processor_usage_mode_sleep_usec : * mut sys :: godot_method_bind , pub set_max_window_size : * mut sys :: godot_method_bind , pub set_min_window_size : * mut sys :: godot_method_bind , pub set_native_icon : * mut sys :: godot_method_bind , pub set_screen_orientation : * mut sys :: godot_method_bind , pub set_thread_name : * mut sys :: godot_method_bind , pub set_use_file_access_save_and_swap : * mut sys :: godot_method_bind , pub set_use_vsync : * mut sys :: godot_method_bind , pub set_vsync_via_compositor : * mut sys :: godot_method_bind , pub set_window_always_on_top : * mut sys :: godot_method_bind , pub set_window_fullscreen : * mut sys :: godot_method_bind , pub set_window_maximized : * mut sys :: godot_method_bind , pub set_window_minimized : * mut sys :: godot_method_bind , pub set_window_mouse_passthrough : * mut sys :: godot_method_bind , pub set_window_per_pixel_transparency_enabled : * mut sys :: godot_method_bind , pub set_window_position : * mut sys :: godot_method_bind , pub set_window_resizable : * mut sys :: godot_method_bind , pub set_window_size : * mut sys :: godot_method_bind , pub set_window_title : * mut sys :: godot_method_bind , pub shell_open : * mut sys :: godot_method_bind , pub show_virtual_keyboard : * mut sys :: godot_method_bind } impl OSMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : OSMethodTable = OSMethodTable { class_constructor : None , alert : 0 as * mut sys :: godot_method_bind , can_draw : 0 as * mut sys :: godot_method_bind , can_use_threads : 0 as * mut sys :: godot_method_bind , center_window : 0 as * mut sys :: godot_method_bind , close_midi_inputs : 0 as * mut sys :: godot_method_bind , delay_msec : 0 as * mut sys :: godot_method_bind , delay_usec : 0 as * mut sys :: godot_method_bind , dump_memory_to_file : 0 as * mut sys :: godot_method_bind , dump_resources_to_file : 0 as * mut sys :: godot_method_bind , execute : 0 as * mut sys :: godot_method_bind , find_scancode_from_string : 0 as * mut sys :: godot_method_bind , get_audio_driver_count : 0 as * mut sys :: godot_method_bind , get_audio_driver_name : 0 as * mut sys :: godot_method_bind , get_borderless_window : 0 as * mut sys :: godot_method_bind , get_clipboard : 0 as * mut sys :: godot_method_bind , get_cmdline_args : 0 as * mut sys :: godot_method_bind , get_connected_midi_inputs : 0 as * mut sys :: godot_method_bind , get_current_screen : 0 as * mut sys :: godot_method_bind , get_current_tablet_driver : 0 as * mut sys :: godot_method_bind , get_current_video_driver : 0 as * mut sys :: godot_method_bind , get_date : 0 as * mut sys :: godot_method_bind , get_datetime : 0 as * mut sys :: godot_method_bind , get_datetime_from_unix_time : 0 as * mut sys :: godot_method_bind , get_dynamic_memory_usage : 0 as * mut sys :: godot_method_bind , get_environment : 0 as * mut sys :: godot_method_bind , get_executable_path : 0 as * mut sys :: godot_method_bind , get_exit_code : 0 as * mut sys :: godot_method_bind , get_granted_permissions : 0 as * mut sys :: godot_method_bind , get_ime_selection : 0 as * mut sys :: godot_method_bind , get_ime_text : 0 as * mut sys :: godot_method_bind , get_latin_keyboard_variant : 0 as * mut sys :: godot_method_bind , get_locale : 0 as * mut sys :: godot_method_bind , get_low_processor_usage_mode_sleep_usec : 0 as * mut sys :: godot_method_bind , get_max_window_size : 0 as * mut sys :: godot_method_bind , get_min_window_size : 0 as * mut sys :: godot_method_bind , get_model_name : 0 as * mut sys :: godot_method_bind , get_name : 0 as * mut sys :: godot_method_bind , get_native_handle : 0 as * mut sys :: godot_method_bind , get_power_percent_left : 0 as * mut sys :: godot_method_bind , get_power_seconds_left : 0 as * mut sys :: godot_method_bind , get_power_state : 0 as * mut sys :: godot_method_bind , get_process_id : 0 as * mut sys :: godot_method_bind , get_processor_count : 0 as * mut sys :: godot_method_bind , get_real_window_size : 0 as * mut sys :: godot_method_bind , get_scancode_string : 0 as * mut sys :: godot_method_bind , get_screen_count : 0 as * mut sys :: godot_method_bind , get_screen_dpi : 0 as * mut sys :: godot_method_bind , get_screen_max_scale : 0 as * mut sys :: godot_method_bind , get_screen_orientation : 0 as * mut sys :: godot_method_bind , get_screen_position : 0 as * mut sys :: godot_method_bind , get_screen_scale : 0 as * mut sys :: godot_method_bind , get_screen_size : 0 as * mut sys :: godot_method_bind , get_splash_tick_msec : 0 as * mut sys :: godot_method_bind , get_static_memory_peak_usage : 0 as * mut sys :: godot_method_bind , get_static_memory_usage : 0 as * mut sys :: godot_method_bind , get_system_dir : 0 as * mut sys :: godot_method_bind , get_system_time_msecs : 0 as * mut sys :: godot_method_bind , get_system_time_secs : 0 as * mut sys :: godot_method_bind , get_tablet_driver_count : 0 as * mut sys :: godot_method_bind , get_tablet_driver_name : 0 as * mut sys :: godot_method_bind , get_thread_caller_id : 0 as * mut sys :: godot_method_bind , get_ticks_msec : 0 as * mut sys :: godot_method_bind , get_ticks_usec : 0 as * mut sys :: godot_method_bind , get_time : 0 as * mut sys :: godot_method_bind , get_time_zone_info : 0 as * mut sys :: godot_method_bind , get_unique_id : 0 as * mut sys :: godot_method_bind , get_unix_time : 0 as * mut sys :: godot_method_bind , get_unix_time_from_datetime : 0 as * mut sys :: godot_method_bind , get_user_data_dir : 0 as * mut sys :: godot_method_bind , get_video_driver_count : 0 as * mut sys :: godot_method_bind , get_video_driver_name : 0 as * mut sys :: godot_method_bind , get_virtual_keyboard_height : 0 as * mut sys :: godot_method_bind , get_window_per_pixel_transparency_enabled : 0 as * mut sys :: godot_method_bind , get_window_position : 0 as * mut sys :: godot_method_bind , get_window_safe_area : 0 as * mut sys :: godot_method_bind , get_window_size : 0 as * mut sys :: godot_method_bind , global_menu_add_item : 0 as * mut sys :: godot_method_bind , global_menu_add_separator : 0 as * mut sys :: godot_method_bind , global_menu_clear : 0 as * mut sys :: godot_method_bind , global_menu_remove_item : 0 as * mut sys :: godot_method_bind , has_environment : 0 as * mut sys :: godot_method_bind , has_feature : 0 as * mut sys :: godot_method_bind , has_touchscreen_ui_hint : 0 as * mut sys :: godot_method_bind , has_virtual_keyboard : 0 as * mut sys :: godot_method_bind , hide_virtual_keyboard : 0 as * mut sys :: godot_method_bind , is_debug_build : 0 as * mut sys :: godot_method_bind , is_in_low_processor_usage_mode : 0 as * mut sys :: godot_method_bind , is_keep_screen_on : 0 as * mut sys :: godot_method_bind , is_ok_left_and_cancel_right : 0 as * mut sys :: godot_method_bind , is_scancode_unicode : 0 as * mut sys :: godot_method_bind , is_stdout_verbose : 0 as * mut sys :: godot_method_bind , is_userfs_persistent : 0 as * mut sys :: godot_method_bind , is_vsync_enabled : 0 as * mut sys :: godot_method_bind , is_vsync_via_compositor_enabled : 0 as * mut sys :: godot_method_bind , is_window_always_on_top : 0 as * mut sys :: godot_method_bind , is_window_focused : 0 as * mut sys :: godot_method_bind , is_window_fullscreen : 0 as * mut sys :: godot_method_bind , is_window_maximized : 0 as * mut sys :: godot_method_bind , is_window_minimized : 0 as * mut sys :: godot_method_bind , is_window_resizable : 0 as * mut sys :: godot_method_bind , keyboard_get_current_layout : 0 as * mut sys :: godot_method_bind , keyboard_get_layout_count : 0 as * mut sys :: godot_method_bind , keyboard_get_layout_language : 0 as * mut sys :: godot_method_bind , keyboard_get_layout_name : 0 as * mut sys :: godot_method_bind , keyboard_set_current_layout : 0 as * mut sys :: godot_method_bind , kill : 0 as * mut sys :: godot_method_bind , move_window_to_foreground : 0 as * mut sys :: godot_method_bind , native_video_is_playing : 0 as * mut sys :: godot_method_bind , native_video_pause : 0 as * mut sys :: godot_method_bind , native_video_play : 0 as * mut sys :: godot_method_bind , native_video_stop : 0 as * mut sys :: godot_method_bind , native_video_unpause : 0 as * mut sys :: godot_method_bind , open_midi_inputs : 0 as * mut sys :: godot_method_bind , print_all_resources : 0 as * mut sys :: godot_method_bind , print_all_textures_by_size : 0 as * mut sys :: godot_method_bind , print_resources_by_type : 0 as * mut sys :: godot_method_bind , print_resources_in_use : 0 as * mut sys :: godot_method_bind , request_attention : 0 as * mut sys :: godot_method_bind , request_permission : 0 as * mut sys :: godot_method_bind , request_permissions : 0 as * mut sys :: godot_method_bind , set_borderless_window : 0 as * mut sys :: godot_method_bind , set_clipboard : 0 as * mut sys :: godot_method_bind , set_current_screen : 0 as * mut sys :: godot_method_bind , set_current_tablet_driver : 0 as * mut sys :: godot_method_bind , set_environment : 0 as * mut sys :: godot_method_bind , set_exit_code : 0 as * mut sys :: godot_method_bind , set_icon : 0 as * mut sys :: godot_method_bind , set_ime_active : 0 as * mut sys :: godot_method_bind , set_ime_position : 0 as * mut sys :: godot_method_bind , set_keep_screen_on : 0 as * mut sys :: godot_method_bind , set_low_processor_usage_mode : 0 as * mut sys :: godot_method_bind , set_low_processor_usage_mode_sleep_usec : 0 as * mut sys :: godot_method_bind , set_max_window_size : 0 as * mut sys :: godot_method_bind , set_min_window_size : 0 as * mut sys :: godot_method_bind , set_native_icon : 0 as * mut sys :: godot_method_bind , set_screen_orientation : 0 as * mut sys :: godot_method_bind , set_thread_name : 0 as * mut sys :: godot_method_bind , set_use_file_access_save_and_swap : 0 as * mut sys :: godot_method_bind , set_use_vsync : 0 as * mut sys :: godot_method_bind , set_vsync_via_compositor : 0 as * mut sys :: godot_method_bind , set_window_always_on_top : 0 as * mut sys :: godot_method_bind , set_window_fullscreen : 0 as * mut sys :: godot_method_bind , set_window_maximized : 0 as * mut sys :: godot_method_bind , set_window_minimized : 0 as * mut sys :: godot_method_bind , set_window_mouse_passthrough : 0 as * mut sys :: godot_method_bind , set_window_per_pixel_transparency_enabled : 0 as * mut sys :: godot_method_bind , set_window_position : 0 as * mut sys :: godot_method_bind , set_window_resizable : 0 as * mut sys :: godot_method_bind , set_window_size : 0 as * mut sys :: godot_method_bind , set_window_title : 0 as * mut sys :: godot_method_bind , shell_open : 0 as * mut sys :: godot_method_bind , show_virtual_keyboard : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { OSMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "_OS\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . alert = (gd_api . godot_method_bind_get_method) (class_name , "alert\0" . as_ptr () as * const c_char) ; table . can_draw = (gd_api . godot_method_bind_get_method) (class_name , "can_draw\0" . as_ptr () as * const c_char) ; table . can_use_threads = (gd_api . godot_method_bind_get_method) (class_name , "can_use_threads\0" . as_ptr () as * const c_char) ; table . center_window = (gd_api . godot_method_bind_get_method) (class_name , "center_window\0" . as_ptr () as * const c_char) ; table . close_midi_inputs = (gd_api . godot_method_bind_get_method) (class_name , "close_midi_inputs\0" . as_ptr () as * const c_char) ; table . delay_msec = (gd_api . godot_method_bind_get_method) (class_name , "delay_msec\0" . as_ptr () as * const c_char) ; table . delay_usec = (gd_api . godot_method_bind_get_method) (class_name , "delay_usec\0" . as_ptr () as * const c_char) ; table . dump_memory_to_file = (gd_api . godot_method_bind_get_method) (class_name , "dump_memory_to_file\0" . as_ptr () as * const c_char) ; table . dump_resources_to_file = (gd_api . godot_method_bind_get_method) (class_name , "dump_resources_to_file\0" . as_ptr () as * const c_char) ; table . execute = (gd_api . godot_method_bind_get_method) (class_name , "execute\0" . as_ptr () as * const c_char) ; table . find_scancode_from_string = (gd_api . godot_method_bind_get_method) (class_name , "find_scancode_from_string\0" . as_ptr () as * const c_char) ; table . get_audio_driver_count = (gd_api . godot_method_bind_get_method) (class_name , "get_audio_driver_count\0" . as_ptr () as * const c_char) ; table . get_audio_driver_name = (gd_api . godot_method_bind_get_method) (class_name , "get_audio_driver_name\0" . as_ptr () as * const c_char) ; table . get_borderless_window = (gd_api . godot_method_bind_get_method) (class_name , "get_borderless_window\0" . as_ptr () as * const c_char) ; table . get_clipboard = (gd_api . godot_method_bind_get_method) (class_name , "get_clipboard\0" . as_ptr () as * const c_char) ; table . get_cmdline_args = (gd_api . godot_method_bind_get_method) (class_name , "get_cmdline_args\0" . as_ptr () as * const c_char) ; table . get_connected_midi_inputs = (gd_api . godot_method_bind_get_method) (class_name , "get_connected_midi_inputs\0" . as_ptr () as * const c_char) ; table . get_current_screen = (gd_api . godot_method_bind_get_method) (class_name , "get_current_screen\0" . as_ptr () as * const c_char) ; table . get_current_tablet_driver = (gd_api . godot_method_bind_get_method) (class_name , "get_current_tablet_driver\0" . as_ptr () as * const c_char) ; table . get_current_video_driver = (gd_api . godot_method_bind_get_method) (class_name , "get_current_video_driver\0" . as_ptr () as * const c_char) ; table . get_date = (gd_api . godot_method_bind_get_method) (class_name , "get_date\0" . as_ptr () as * const c_char) ; table . get_datetime = (gd_api . godot_method_bind_get_method) (class_name , "get_datetime\0" . as_ptr () as * const c_char) ; table . get_datetime_from_unix_time = (gd_api . godot_method_bind_get_method) (class_name , "get_datetime_from_unix_time\0" . as_ptr () as * const c_char) ; table . get_dynamic_memory_usage = (gd_api . godot_method_bind_get_method) (class_name , "get_dynamic_memory_usage\0" . as_ptr () as * const c_char) ; table . get_environment = (gd_api . godot_method_bind_get_method) (class_name , "get_environment\0" . as_ptr () as * const c_char) ; table . get_executable_path = (gd_api . godot_method_bind_get_method) (class_name , "get_executable_path\0" . as_ptr () as * const c_char) ; table . get_exit_code = (gd_api . godot_method_bind_get_method) (class_name , "get_exit_code\0" . as_ptr () as * const c_char) ; table . get_granted_permissions = (gd_api . godot_method_bind_get_method) (class_name , "get_granted_permissions\0" . as_ptr () as * const c_char) ; table . get_ime_selection = (gd_api . godot_method_bind_get_method) (class_name , "get_ime_selection\0" . as_ptr () as * const c_char) ; table . get_ime_text = (gd_api . godot_method_bind_get_method) (class_name , "get_ime_text\0" . as_ptr () as * const c_char) ; table . get_latin_keyboard_variant = (gd_api . godot_method_bind_get_method) (class_name , "get_latin_keyboard_variant\0" . as_ptr () as * const c_char) ; table . get_locale = (gd_api . godot_method_bind_get_method) (class_name , "get_locale\0" . as_ptr () as * const c_char) ; table . get_low_processor_usage_mode_sleep_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_low_processor_usage_mode_sleep_usec\0" . as_ptr () as * const c_char) ; table . get_max_window_size = (gd_api . godot_method_bind_get_method) (class_name , "get_max_window_size\0" . as_ptr () as * const c_char) ; table . get_min_window_size = (gd_api . godot_method_bind_get_method) (class_name , "get_min_window_size\0" . as_ptr () as * const c_char) ; table . get_model_name = (gd_api . godot_method_bind_get_method) (class_name , "get_model_name\0" . as_ptr () as * const c_char) ; table . get_name = (gd_api . godot_method_bind_get_method) (class_name , "get_name\0" . as_ptr () as * const c_char) ; table . get_native_handle = (gd_api . godot_method_bind_get_method) (class_name , "get_native_handle\0" . as_ptr () as * const c_char) ; table . get_power_percent_left = (gd_api . godot_method_bind_get_method) (class_name , "get_power_percent_left\0" . as_ptr () as * const c_char) ; table . get_power_seconds_left = (gd_api . godot_method_bind_get_method) (class_name , "get_power_seconds_left\0" . as_ptr () as * const c_char) ; table . get_power_state = (gd_api . godot_method_bind_get_method) (class_name , "get_power_state\0" . as_ptr () as * const c_char) ; table . get_process_id = (gd_api . godot_method_bind_get_method) (class_name , "get_process_id\0" . as_ptr () as * const c_char) ; table . get_processor_count = (gd_api . godot_method_bind_get_method) (class_name , "get_processor_count\0" . as_ptr () as * const c_char) ; table . get_real_window_size = (gd_api . godot_method_bind_get_method) (class_name , "get_real_window_size\0" . as_ptr () as * const c_char) ; table . get_scancode_string = (gd_api . godot_method_bind_get_method) (class_name , "get_scancode_string\0" . as_ptr () as * const c_char) ; table . get_screen_count = (gd_api . godot_method_bind_get_method) (class_name , "get_screen_count\0" . as_ptr () as * const c_char) ; table . get_screen_dpi = (gd_api . godot_method_bind_get_method) (class_name , "get_screen_dpi\0" . as_ptr () as * const c_char) ; table . get_screen_max_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_screen_max_scale\0" . as_ptr () as * const c_char) ; table . get_screen_orientation = (gd_api . godot_method_bind_get_method) (class_name , "get_screen_orientation\0" . as_ptr () as * const c_char) ; table . get_screen_position = (gd_api . godot_method_bind_get_method) (class_name , "get_screen_position\0" . as_ptr () as * const c_char) ; table . get_screen_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_screen_scale\0" . as_ptr () as * const c_char) ; table . get_screen_size = (gd_api . godot_method_bind_get_method) (class_name , "get_screen_size\0" . as_ptr () as * const c_char) ; table . get_splash_tick_msec = (gd_api . godot_method_bind_get_method) (class_name , "get_splash_tick_msec\0" . as_ptr () as * const c_char) ; table . get_static_memory_peak_usage = (gd_api . godot_method_bind_get_method) (class_name , "get_static_memory_peak_usage\0" . as_ptr () as * const c_char) ; table . get_static_memory_usage = (gd_api . godot_method_bind_get_method) (class_name , "get_static_memory_usage\0" . as_ptr () as * const c_char) ; table . get_system_dir = (gd_api . godot_method_bind_get_method) (class_name , "get_system_dir\0" . as_ptr () as * const c_char) ; table . get_system_time_msecs = (gd_api . godot_method_bind_get_method) (class_name , "get_system_time_msecs\0" . as_ptr () as * const c_char) ; table . get_system_time_secs = (gd_api . godot_method_bind_get_method) (class_name , "get_system_time_secs\0" . as_ptr () as * const c_char) ; table . get_tablet_driver_count = (gd_api . godot_method_bind_get_method) (class_name , "get_tablet_driver_count\0" . as_ptr () as * const c_char) ; table . get_tablet_driver_name = (gd_api . godot_method_bind_get_method) (class_name , "get_tablet_driver_name\0" . as_ptr () as * const c_char) ; table . get_thread_caller_id = (gd_api . godot_method_bind_get_method) (class_name , "get_thread_caller_id\0" . as_ptr () as * const c_char) ; table . get_ticks_msec = (gd_api . godot_method_bind_get_method) (class_name , "get_ticks_msec\0" . as_ptr () as * const c_char) ; table . get_ticks_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_ticks_usec\0" . as_ptr () as * const c_char) ; table . get_time = (gd_api . godot_method_bind_get_method) (class_name , "get_time\0" . as_ptr () as * const c_char) ; table . get_time_zone_info = (gd_api . godot_method_bind_get_method) (class_name , "get_time_zone_info\0" . as_ptr () as * const c_char) ; table . get_unique_id = (gd_api . godot_method_bind_get_method) (class_name , "get_unique_id\0" . as_ptr () as * const c_char) ; table . get_unix_time = (gd_api . godot_method_bind_get_method) (class_name , "get_unix_time\0" . as_ptr () as * const c_char) ; table . get_unix_time_from_datetime = (gd_api . godot_method_bind_get_method) (class_name , "get_unix_time_from_datetime\0" . as_ptr () as * const c_char) ; table . get_user_data_dir = (gd_api . godot_method_bind_get_method) (class_name , "get_user_data_dir\0" . as_ptr () as * const c_char) ; table . get_video_driver_count = (gd_api . godot_method_bind_get_method) (class_name , "get_video_driver_count\0" . as_ptr () as * const c_char) ; table . get_video_driver_name = (gd_api . godot_method_bind_get_method) (class_name , "get_video_driver_name\0" . as_ptr () as * const c_char) ; table . get_virtual_keyboard_height = (gd_api . godot_method_bind_get_method) (class_name , "get_virtual_keyboard_height\0" . as_ptr () as * const c_char) ; table . get_window_per_pixel_transparency_enabled = (gd_api . godot_method_bind_get_method) (class_name , "get_window_per_pixel_transparency_enabled\0" . as_ptr () as * const c_char) ; table . get_window_position = (gd_api . godot_method_bind_get_method) (class_name , "get_window_position\0" . as_ptr () as * const c_char) ; table . get_window_safe_area = (gd_api . godot_method_bind_get_method) (class_name , "get_window_safe_area\0" . as_ptr () as * const c_char) ; table . get_window_size = (gd_api . godot_method_bind_get_method) (class_name , "get_window_size\0" . as_ptr () as * const c_char) ; table . global_menu_add_item = (gd_api . godot_method_bind_get_method) (class_name , "global_menu_add_item\0" . as_ptr () as * const c_char) ; table . global_menu_add_separator = (gd_api . godot_method_bind_get_method) (class_name , "global_menu_add_separator\0" . as_ptr () as * const c_char) ; table . global_menu_clear = (gd_api . godot_method_bind_get_method) (class_name , "global_menu_clear\0" . as_ptr () as * const c_char) ; table . global_menu_remove_item = (gd_api . godot_method_bind_get_method) (class_name , "global_menu_remove_item\0" . as_ptr () as * const c_char) ; table . has_environment = (gd_api . godot_method_bind_get_method) (class_name , "has_environment\0" . as_ptr () as * const c_char) ; table . has_feature = (gd_api . godot_method_bind_get_method) (class_name , "has_feature\0" . as_ptr () as * const c_char) ; table . has_touchscreen_ui_hint = (gd_api . godot_method_bind_get_method) (class_name , "has_touchscreen_ui_hint\0" . as_ptr () as * const c_char) ; table . has_virtual_keyboard = (gd_api . godot_method_bind_get_method) (class_name , "has_virtual_keyboard\0" . as_ptr () as * const c_char) ; table . hide_virtual_keyboard = (gd_api . godot_method_bind_get_method) (class_name , "hide_virtual_keyboard\0" . as_ptr () as * const c_char) ; table . is_debug_build = (gd_api . godot_method_bind_get_method) (class_name , "is_debug_build\0" . as_ptr () as * const c_char) ; table . is_in_low_processor_usage_mode = (gd_api . godot_method_bind_get_method) (class_name , "is_in_low_processor_usage_mode\0" . as_ptr () as * const c_char) ; table . is_keep_screen_on = (gd_api . godot_method_bind_get_method) (class_name , "is_keep_screen_on\0" . as_ptr () as * const c_char) ; table . is_ok_left_and_cancel_right = (gd_api . godot_method_bind_get_method) (class_name , "is_ok_left_and_cancel_right\0" . as_ptr () as * const c_char) ; table . is_scancode_unicode = (gd_api . godot_method_bind_get_method) (class_name , "is_scancode_unicode\0" . as_ptr () as * const c_char) ; table . is_stdout_verbose = (gd_api . godot_method_bind_get_method) (class_name , "is_stdout_verbose\0" . as_ptr () as * const c_char) ; table . is_userfs_persistent = (gd_api . godot_method_bind_get_method) (class_name , "is_userfs_persistent\0" . as_ptr () as * const c_char) ; table . is_vsync_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_vsync_enabled\0" . as_ptr () as * const c_char) ; table . is_vsync_via_compositor_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_vsync_via_compositor_enabled\0" . as_ptr () as * const c_char) ; table . is_window_always_on_top = (gd_api . godot_method_bind_get_method) (class_name , "is_window_always_on_top\0" . as_ptr () as * const c_char) ; table . is_window_focused = (gd_api . godot_method_bind_get_method) (class_name , "is_window_focused\0" . as_ptr () as * const c_char) ; table . is_window_fullscreen = (gd_api . godot_method_bind_get_method) (class_name , "is_window_fullscreen\0" . as_ptr () as * const c_char) ; table . is_window_maximized = (gd_api . godot_method_bind_get_method) (class_name , "is_window_maximized\0" . as_ptr () as * const c_char) ; table . is_window_minimized = (gd_api . godot_method_bind_get_method) (class_name , "is_window_minimized\0" . as_ptr () as * const c_char) ; table . is_window_resizable = (gd_api . godot_method_bind_get_method) (class_name , "is_window_resizable\0" . as_ptr () as * const c_char) ; table . keyboard_get_current_layout = (gd_api . godot_method_bind_get_method) (class_name , "keyboard_get_current_layout\0" . as_ptr () as * const c_char) ; table . keyboard_get_layout_count = (gd_api . godot_method_bind_get_method) (class_name , "keyboard_get_layout_count\0" . as_ptr () as * const c_char) ; table . keyboard_get_layout_language = (gd_api . godot_method_bind_get_method) (class_name , "keyboard_get_layout_language\0" . as_ptr () as * const c_char) ; table . keyboard_get_layout_name = (gd_api . godot_method_bind_get_method) (class_name , "keyboard_get_layout_name\0" . as_ptr () as * const c_char) ; table . keyboard_set_current_layout = (gd_api . godot_method_bind_get_method) (class_name , "keyboard_set_current_layout\0" . as_ptr () as * const c_char) ; table . kill = (gd_api . godot_method_bind_get_method) (class_name , "kill\0" . as_ptr () as * const c_char) ; table . move_window_to_foreground = (gd_api . godot_method_bind_get_method) (class_name , "move_window_to_foreground\0" . as_ptr () as * const c_char) ; table . native_video_is_playing = (gd_api . godot_method_bind_get_method) (class_name , "native_video_is_playing\0" . as_ptr () as * const c_char) ; table . native_video_pause = (gd_api . godot_method_bind_get_method) (class_name , "native_video_pause\0" . as_ptr () as * const c_char) ; table . native_video_play = (gd_api . godot_method_bind_get_method) (class_name , "native_video_play\0" . as_ptr () as * const c_char) ; table . native_video_stop = (gd_api . godot_method_bind_get_method) (class_name , "native_video_stop\0" . as_ptr () as * const c_char) ; table . native_video_unpause = (gd_api . godot_method_bind_get_method) (class_name , "native_video_unpause\0" . as_ptr () as * const c_char) ; table . open_midi_inputs = (gd_api . godot_method_bind_get_method) (class_name , "open_midi_inputs\0" . as_ptr () as * const c_char) ; table . print_all_resources = (gd_api . godot_method_bind_get_method) (class_name , "print_all_resources\0" . as_ptr () as * const c_char) ; table . print_all_textures_by_size = (gd_api . godot_method_bind_get_method) (class_name , "print_all_textures_by_size\0" . as_ptr () as * const c_char) ; table . print_resources_by_type = (gd_api . godot_method_bind_get_method) (class_name , "print_resources_by_type\0" . as_ptr () as * const c_char) ; table . print_resources_in_use = (gd_api . godot_method_bind_get_method) (class_name , "print_resources_in_use\0" . as_ptr () as * const c_char) ; table . request_attention = (gd_api . godot_method_bind_get_method) (class_name , "request_attention\0" . as_ptr () as * const c_char) ; table . request_permission = (gd_api . godot_method_bind_get_method) (class_name , "request_permission\0" . as_ptr () as * const c_char) ; table . request_permissions = (gd_api . godot_method_bind_get_method) (class_name , "request_permissions\0" . as_ptr () as * const c_char) ; table . set_borderless_window = (gd_api . godot_method_bind_get_method) (class_name , "set_borderless_window\0" . as_ptr () as * const c_char) ; table . set_clipboard = (gd_api . godot_method_bind_get_method) (class_name , "set_clipboard\0" . as_ptr () as * const c_char) ; table . set_current_screen = (gd_api . godot_method_bind_get_method) (class_name , "set_current_screen\0" . as_ptr () as * const c_char) ; table . set_current_tablet_driver = (gd_api . godot_method_bind_get_method) (class_name , "set_current_tablet_driver\0" . as_ptr () as * const c_char) ; table . set_environment = (gd_api . godot_method_bind_get_method) (class_name , "set_environment\0" . as_ptr () as * const c_char) ; table . set_exit_code = (gd_api . godot_method_bind_get_method) (class_name , "set_exit_code\0" . as_ptr () as * const c_char) ; table . set_icon = (gd_api . godot_method_bind_get_method) (class_name , "set_icon\0" . as_ptr () as * const c_char) ; table . set_ime_active = (gd_api . godot_method_bind_get_method) (class_name , "set_ime_active\0" . as_ptr () as * const c_char) ; table . set_ime_position = (gd_api . godot_method_bind_get_method) (class_name , "set_ime_position\0" . as_ptr () as * const c_char) ; table . set_keep_screen_on = (gd_api . godot_method_bind_get_method) (class_name , "set_keep_screen_on\0" . as_ptr () as * const c_char) ; table . set_low_processor_usage_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_low_processor_usage_mode\0" . as_ptr () as * const c_char) ; table . set_low_processor_usage_mode_sleep_usec = (gd_api . godot_method_bind_get_method) (class_name , "set_low_processor_usage_mode_sleep_usec\0" . as_ptr () as * const c_char) ; table . set_max_window_size = (gd_api . godot_method_bind_get_method) (class_name , "set_max_window_size\0" . as_ptr () as * const c_char) ; table . set_min_window_size = (gd_api . godot_method_bind_get_method) (class_name , "set_min_window_size\0" . as_ptr () as * const c_char) ; table . set_native_icon = (gd_api . godot_method_bind_get_method) (class_name , "set_native_icon\0" . as_ptr () as * const c_char) ; table . set_screen_orientation = (gd_api . godot_method_bind_get_method) (class_name , "set_screen_orientation\0" . as_ptr () as * const c_char) ; table . set_thread_name = (gd_api . godot_method_bind_get_method) (class_name , "set_thread_name\0" . as_ptr () as * const c_char) ; table . set_use_file_access_save_and_swap = (gd_api . godot_method_bind_get_method) (class_name , "set_use_file_access_save_and_swap\0" . as_ptr () as * const c_char) ; table . set_use_vsync = (gd_api . godot_method_bind_get_method) (class_name , "set_use_vsync\0" . as_ptr () as * const c_char) ; table . set_vsync_via_compositor = (gd_api . godot_method_bind_get_method) (class_name , "set_vsync_via_compositor\0" . as_ptr () as * const c_char) ; table . set_window_always_on_top = (gd_api . godot_method_bind_get_method) (class_name , "set_window_always_on_top\0" . as_ptr () as * const c_char) ; table . set_window_fullscreen = (gd_api . godot_method_bind_get_method) (class_name , "set_window_fullscreen\0" . as_ptr () as * const c_char) ; table . set_window_maximized = (gd_api . godot_method_bind_get_method) (class_name , "set_window_maximized\0" . as_ptr () as * const c_char) ; table . set_window_minimized = (gd_api . godot_method_bind_get_method) (class_name , "set_window_minimized\0" . as_ptr () as * const c_char) ; table . set_window_mouse_passthrough = (gd_api . godot_method_bind_get_method) (class_name , "set_window_mouse_passthrough\0" . as_ptr () as * const c_char) ; table . set_window_per_pixel_transparency_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_window_per_pixel_transparency_enabled\0" . as_ptr () as * const c_char) ; table . set_window_position = (gd_api . godot_method_bind_get_method) (class_name , "set_window_position\0" . as_ptr () as * const c_char) ; table . set_window_resizable = (gd_api . godot_method_bind_get_method) (class_name , "set_window_resizable\0" . as_ptr () as * const c_char) ; table . set_window_size = (gd_api . godot_method_bind_get_method) (class_name , "set_window_size\0" . as_ptr () as * const c_char) ; table . set_window_title = (gd_api . godot_method_bind_get_method) (class_name , "set_window_title\0" . as_ptr () as * const c_char) ; table . shell_open = (gd_api . godot_method_bind_get_method) (class_name , "shell_open\0" . as_ptr () as * const c_char) ; table . show_virtual_keyboard = (gd_api . godot_method_bind_get_method) (class_name , "show_virtual_keyboard\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:670:16976
[INFO] [stdout]     |
[INFO] [stdout] 670 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 670 |                 # [doc = "`core class KinematicBody` inherits `PhysicsBody` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_kinematicbody.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`KinematicBody` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<KinematicBody>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nKinematicBody inherits methods from:\n - [PhysicsBody](struct.PhysicsBody.html)\n - [CollisionObject](struct.CollisionObject.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct KinematicBody { this : RawObject < Self > , } impl KinematicBody { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = KinematicBodyMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Lock the body's Z axis movement."] # [doc = ""] # [inline] pub fn axis_lock (& self , axis : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . get_axis_lock ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , axis) ; ret as _ } } # [doc = "Returns the surface normal of the floor at the last collision point. Only valid after calling [method move_and_slide] or [method move_and_slide_with_snap] and when [method is_on_floor] returns `true`."] # [doc = ""] # [inline] pub fn get_floor_normal (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . get_floor_normal ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the linear velocity of the floor at the last collision point. Only valid after calling [method move_and_slide] or [method move_and_slide_with_snap] and when [method is_on_floor] returns `true`."] # [doc = ""] # [inline] pub fn get_floor_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . get_floor_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If the body is at least this close to another body, this body will consider them to be colliding."] # [doc = ""] # [inline] pub fn safe_margin (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . get_safe_margin ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a [KinematicCollision], which contains information about a collision that occurred during the last [method move_and_slide] call. Since the body can collide several times in a single call to [method move_and_slide], you must specify the index of the collision in the range 0 to ([method get_slide_count] - 1)."] # [doc = ""] # [inline] pub fn get_slide_collision (& self , slide_idx : i64) -> Option < Ref < crate :: generated :: kinematic_collision :: KinematicCollision , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . get_slide_collision ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , slide_idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: kinematic_collision :: KinematicCollision , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of times the body collided and changed direction during the last call to [method move_and_slide]."] # [doc = ""] # [inline] pub fn get_slide_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . get_slide_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the body is on the ceiling. Only updates when calling [method move_and_slide]."] # [doc = ""] # [inline] pub fn is_on_ceiling (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . is_on_ceiling ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the body is on the floor. Only updates when calling [method move_and_slide]."] # [doc = ""] # [inline] pub fn is_on_floor (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . is_on_floor ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the body is on a wall. Only updates when calling [method move_and_slide]."] # [doc = ""] # [inline] pub fn is_on_wall (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . is_on_wall ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Moves the body along the vector `rel_vec`. The body will stop if it collides. Returns a [KinematicCollision], which contains information about the collision.\nIf `test_only` is `true`, the body does not move but the would-be collision information is given.\n# Default Arguments\n* `infinite_inertia` - `true`\n* `exclude_raycast_shapes` - `true`\n* `test_only` - `false`"] # [doc = ""] # [inline] pub fn move_and_collide (& self , rel_vec : Vector3 , infinite_inertia : bool , exclude_raycast_shapes : bool , test_only : bool) -> Option < Ref < crate :: generated :: kinematic_collision :: KinematicCollision , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . move_and_collide ; let ret = crate :: icalls :: icallptr_obj_vec3_bool_bool_bool (method_bind , self . this . sys () . as_ptr () , rel_vec , infinite_inertia , exclude_raycast_shapes , test_only) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: kinematic_collision :: KinematicCollision , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody] or [RigidBody], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.\nThis method should be used in [method Node._physics_process] (or in a method called by [method Node._physics_process]), as it uses the physics step's `delta` value automatically in calculations. Otherwise, the simulation will run at an incorrect speed.\n`linear_velocity` is the velocity vector (typically meters per second). Unlike in [method move_and_collide], you should [i]not[/i] multiply it by `delta` — the physics engine handles applying the velocity.\n`up_direction` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of `Vector3(0, 0, 0)`, everything is considered a wall.\nIf `stop_on_slope` is `true`, body will not slide on slopes when you include gravity in `linear_velocity` and the body is standing still.\nIf the body collides, it will change direction a maximum of `max_slides` times before it stops.\n`floor_max_angle` is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.\nIf `infinite_inertia` is `true`, body will be able to push [RigidBody] nodes, but it won't also detect any collisions with them. If `false`, it will interact with [RigidBody] nodes like with [StaticBody].\nReturns the `linear_velocity` vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use [method get_slide_collision].\n# Default Arguments\n* `up_direction` - `Vector3( 0, 0, 0 )`\n* `stop_on_slope` - `false`\n* `max_slides` - `4`\n* `floor_max_angle` - `0.785398`\n* `infinite_inertia` - `true`"] # [doc = ""] # [inline] pub fn move_and_slide (& self , linear_velocity : Vector3 , up_direction : Vector3 , stop_on_slope : bool , max_slides : i64 , floor_max_angle : f64 , infinite_inertia : bool) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . move_and_slide ; let ret = crate :: icalls :: icallptr_vec3_vec3_vec3_bool_i64_f64_bool (method_bind , self . this . sys () . as_ptr () , linear_velocity , up_direction , stop_on_slope , max_slides , floor_max_angle , infinite_inertia) ; mem :: transmute (ret) } } # [doc = "Moves the body while keeping it attached to slopes. Similar to [method move_and_slide].\nAs long as the `snap` vector is in contact with the ground, the body will remain attached to the surface. This means you must disable snap in order to jump, for example. You can do this by setting `snap` to `(0, 0, 0)` or by using [method move_and_slide] instead.\n# Default Arguments\n* `up_direction` - `Vector3( 0, 0, 0 )`\n* `stop_on_slope` - `false`\n* `max_slides` - `4`\n* `floor_max_angle` - `0.785398`\n* `infinite_inertia` - `true`"] # [doc = ""] # [inline] pub fn move_and_slide_with_snap (& self , linear_velocity : Vector3 , snap : Vector3 , up_direction : Vector3 , stop_on_slope : bool , max_slides : i64 , floor_max_angle : f64 , infinite_inertia : bool) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . move_and_slide_with_snap ; let ret = crate :: icalls :: icallptr_vec3_vec3_vec3_vec3_bool_i64_f64_bool (method_bind , self . this . sys () . as_ptr () , linear_velocity , snap , up_direction , stop_on_slope , max_slides , floor_max_angle , infinite_inertia) ; mem :: transmute (ret) } } # [doc = "Lock the body's Z axis movement."] # [doc = ""] # [inline] pub fn set_axis_lock (& self , axis : i64 , lock : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . set_axis_lock ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , axis , lock) ; } } # [doc = "If the body is at least this close to another body, this body will consider them to be colliding."] # [doc = ""] # [inline] pub fn set_safe_margin (& self , pixels : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . set_safe_margin ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , pixels) ; } } # [doc = "Checks for collisions without moving the body. Virtually sets the node's position, scale and rotation to that of the given [Transform], then tries to move the body along the vector `rel_vec`. Returns `true` if a collision would occur.\n# Default Arguments\n* `infinite_inertia` - `true`"] # [doc = ""] # [inline] pub fn test_move (& self , from : Transform , rel_vec : Vector3 , infinite_inertia : bool) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicBodyMethodTable :: get (get_api ()) . test_move ; let ret = crate :: icalls :: icallptr_bool_trans_vec3_bool (method_bind , self . this . sys () . as_ptr () , from , rel_vec , infinite_inertia) ; ret as _ } } } impl gdnative_core :: private :: godot_object :: Sealed for KinematicBody { } unsafe impl GodotObject for KinematicBody { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "KinematicBody" } } impl QueueFree for KinematicBody { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for KinematicBody { type Target = crate :: generated :: physics_body :: PhysicsBody ; # [inline] fn deref (& self) -> & crate :: generated :: physics_body :: PhysicsBody { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for KinematicBody { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: physics_body :: PhysicsBody { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: physics_body :: PhysicsBody > for KinematicBody { } unsafe impl SubClass < crate :: generated :: collision_object :: CollisionObject > for KinematicBody { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for KinematicBody { } unsafe impl SubClass < crate :: generated :: node :: Node > for KinematicBody { } unsafe impl SubClass < crate :: generated :: object :: Object > for KinematicBody { } impl Instanciable for KinematicBody { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { KinematicBody :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct KinematicBodyMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_axis_lock : * mut sys :: godot_method_bind , pub get_floor_normal : * mut sys :: godot_method_bind , pub get_floor_velocity : * mut sys :: godot_method_bind , pub get_safe_margin : * mut sys :: godot_method_bind , pub get_slide_collision : * mut sys :: godot_method_bind , pub get_slide_count : * mut sys :: godot_method_bind , pub is_on_ceiling : * mut sys :: godot_method_bind , pub is_on_floor : * mut sys :: godot_method_bind , pub is_on_wall : * mut sys :: godot_method_bind , pub move_and_collide : * mut sys :: godot_method_bind , pub move_and_slide : * mut sys :: godot_method_bind , pub move_and_slide_with_snap : * mut sys :: godot_method_bind , pub set_axis_lock : * mut sys :: godot_method_bind , pub set_safe_margin : * mut sys :: godot_method_bind , pub test_move : * mut sys :: godot_method_bind } impl KinematicBodyMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : KinematicBodyMethodTable = KinematicBodyMethodTable { class_constructor : None , get_axis_lock : 0 as * mut sys :: godot_method_bind , get_floor_normal : 0 as * mut sys :: godot_method_bind , get_floor_velocity : 0 as * mut sys :: godot_method_bind , get_safe_margin : 0 as * mut sys :: godot_method_bind , get_slide_collision : 0 as * mut sys :: godot_method_bind , get_slide_count : 0 as * mut sys :: godot_method_bind , is_on_ceiling : 0 as * mut sys :: godot_method_bind , is_on_floor : 0 as * mut sys :: godot_method_bind , is_on_wall : 0 as * mut sys :: godot_method_bind , move_and_collide : 0 as * mut sys :: godot_method_bind , move_and_slide : 0 as * mut sys :: godot_method_bind , move_and_slide_with_snap : 0 as * mut sys :: godot_method_bind , set_axis_lock : 0 as * mut sys :: godot_method_bind , set_safe_margin : 0 as * mut sys :: godot_method_bind , test_move : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { KinematicBodyMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "KinematicBody\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_axis_lock = (gd_api . godot_method_bind_get_method) (class_name , "get_axis_lock\0" . as_ptr () as * const c_char) ; table . get_floor_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_floor_normal\0" . as_ptr () as * const c_char) ; table . get_floor_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_floor_velocity\0" . as_ptr () as * const c_char) ; table . get_safe_margin = (gd_api . godot_method_bind_get_method) (class_name , "get_safe_margin\0" . as_ptr () as * const c_char) ; table . get_slide_collision = (gd_api . godot_method_bind_get_method) (class_name , "get_slide_collision\0" . as_ptr () as * const c_char) ; table . get_slide_count = (gd_api . godot_method_bind_get_method) (class_name , "get_slide_count\0" . as_ptr () as * const c_char) ; table . is_on_ceiling = (gd_api . godot_method_bind_get_method) (class_name , "is_on_ceiling\0" . as_ptr () as * const c_char) ; table . is_on_floor = (gd_api . godot_method_bind_get_method) (class_name , "is_on_floor\0" . as_ptr () as * const c_char) ; table . is_on_wall = (gd_api . godot_method_bind_get_method) (class_name , "is_on_wall\0" . as_ptr () as * const c_char) ; table . move_and_collide = (gd_api . godot_method_bind_get_method) (class_name , "move_and_collide\0" . as_ptr () as * const c_char) ; table . move_and_slide = (gd_api . godot_method_bind_get_method) (class_name , "move_and_slide\0" . as_ptr () as * const c_char) ; table . move_and_slide_with_snap = (gd_api . godot_method_bind_get_method) (class_name , "move_and_slide_with_snap\0" . as_ptr () as * const c_char) ; table . set_axis_lock = (gd_api . godot_method_bind_get_method) (class_name , "set_axis_lock\0" . as_ptr () as * const c_char) ; table . set_safe_margin = (gd_api . godot_method_bind_get_method) (class_name , "set_safe_margin\0" . as_ptr () as * const c_char) ; table . test_move = (gd_api . godot_method_bind_get_method) (class_name , "test_move\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:4:16499
[INFO] [stdout]   |
[INFO] [stdout] 4 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'sta...
[INFO] [stdout]   |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]   |
[INFO] [stdout]   = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]   = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]   |
[INFO] [stdout] 4 |                 # [doc = "`core class SurfaceTool` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_surfacetool.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nSurfaceTool inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SurfaceTool { this : RawObject < Self > , } impl SurfaceTool { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SurfaceToolMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds an array of bones for the next vertex to use. `bones` must contain 4 integers."] # [doc = ""] # [inline] pub fn add_bones (& self , bones : Int32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_bones ; let ret = crate :: icalls :: icallptr_void_i32arr (method_bind , self . this . sys () . as_ptr () , bones) ; } } # [doc = "Specifies a [Color] for the next vertex to use."] # [doc = ""] # [inline] pub fn add_color (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_color ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = "Adds an index to index array if you are using indexed vertices. Does not need to be called before adding vertices."] # [doc = ""] # [inline] pub fn add_index (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_index ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "Specifies a normal for the next vertex to use."] # [doc = ""] # [inline] pub fn add_normal (& self , normal : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_normal ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , normal) ; } } # [doc = "Specifies whether the current vertex (if using only vertex arrays) or current index (if also using index arrays) should use smooth normals for normal calculation."] # [doc = ""] # [inline] pub fn add_smooth_group (& self , smooth : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_smooth_group ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , smooth) ; } } # [doc = "Specifies a tangent for the next vertex to use."] # [doc = ""] # [inline] pub fn add_tangent (& self , tangent : Plane) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_tangent ; let ret = crate :: icalls :: icallptr_void_plane (method_bind , self . this . sys () . as_ptr () , tangent) ; } } # [doc = "Inserts a triangle fan made of array data into [Mesh] being constructed.\nRequires the primitive type be set to [constant Mesh.PRIMITIVE_TRIANGLES].\n# Default Arguments\n* `uvs` - `PoolVector2Array(  )`\n* `colors` - `PoolColorArray(  )`\n* `uv2s` - `PoolVector2Array(  )`\n* `normals` - `PoolVector3Array(  )`\n* `tangents` - `[  ]`"] # [doc = ""] # [inline] pub fn add_triangle_fan (& self , vertices : Vector3Array , uvs : Vector2Array , colors : ColorArray , uv2s : Vector2Array , normals : Vector3Array , tangents : VariantArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_triangle_fan ; let ret = crate :: icalls :: icallptr_void_vec3arr_vec2arr_colorarr_vec2arr_vec3arr_arr (method_bind , self . this . sys () . as_ptr () , vertices , uvs , colors , uv2s , normals , tangents) ; } } # [doc = "Specifies a set of UV coordinates to use for the next vertex."] # [doc = ""] # [inline] pub fn add_uv (& self , uv : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_uv ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , uv) ; } } # [doc = "Specifies an optional second set of UV coordinates to use for the next vertex."] # [doc = ""] # [inline] pub fn add_uv2 (& self , uv2 : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_uv2 ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , uv2) ; } } # [doc = "Specifies the position of current vertex. Should be called after specifying other vertex properties (e.g. Color, UV)."] # [doc = ""] # [inline] pub fn add_vertex (& self , vertex : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_vertex ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , vertex) ; } } # [doc = "Specifies weight values for next vertex to use. `weights` must contain 4 values."] # [doc = ""] # [inline] pub fn add_weights (& self , weights : Float32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . add_weights ; let ret = crate :: icalls :: icallptr_void_f32arr (method_bind , self . this . sys () . as_ptr () , weights) ; } } # [doc = "Append vertices from a given [Mesh] surface onto the current vertex array with specified [Transform]."] # [doc = ""] # [inline] pub fn append_from (& self , existing : impl AsArg < crate :: generated :: mesh :: Mesh > , surface : i64 , transform : Transform) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . append_from ; let ret = crate :: icalls :: icallptr_void_obj_i64_trans (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , surface , transform) ; } } # [doc = "Called before adding any vertices. Takes the primitive type as an argument (e.g. [constant Mesh.PRIMITIVE_TRIANGLES])."] # [doc = ""] # [inline] pub fn begin (& self , primitive : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . begin ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , primitive) ; } } # [doc = "Clear all information passed into the surface tool so far."] # [doc = ""] # [inline] pub fn clear (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns a constructed [ArrayMesh] from current information passed in. If an existing [ArrayMesh] is passed in as an argument, will add an extra surface to the existing [ArrayMesh].\nDefault flag is [constant Mesh.ARRAY_COMPRESS_DEFAULT]. See `ARRAY_COMPRESS_*` constants in [enum Mesh.ArrayFormat] for other flags.\n# Default Arguments\n* `existing` - `null`\n* `flags` - `97280`"] # [doc = ""] # [inline] pub fn commit (& self , existing : impl AsArg < crate :: generated :: array_mesh :: ArrayMesh > , flags : i64) -> Option < Ref < crate :: generated :: array_mesh :: ArrayMesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . commit ; let ret = crate :: icalls :: icallptr_obj_obj_i64 (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , flags) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: array_mesh :: ArrayMesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Commits the data to the same format used by [method ArrayMesh.add_surface_from_arrays]. This way you can further process the mesh data using the [ArrayMesh] API."] # [doc = ""] # [inline] pub fn commit_to_arrays (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . commit_to_arrays ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Creates a vertex array from an existing [Mesh]."] # [doc = ""] # [inline] pub fn create_from (& self , existing : impl AsArg < crate :: generated :: mesh :: Mesh > , surface : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . create_from ; let ret = crate :: icalls :: icallptr_void_obj_i64 (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , surface) ; } } # [doc = "Creates a vertex array from the specified blend shape of an existing [Mesh]. This can be used to extract a specific pose from a blend shape."] # [doc = ""] # [inline] pub fn create_from_blend_shape (& self , existing : impl AsArg < crate :: generated :: mesh :: Mesh > , surface : i64 , blend_shape : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . create_from_blend_shape ; let ret = crate :: icalls :: icallptr_void_obj_i64_str (method_bind , self . this . sys () . as_ptr () , existing . as_arg_ptr () , surface , blend_shape . into ()) ; } } # [doc = "Removes the index array by expanding the vertex array."] # [doc = ""] # [inline] pub fn deindex (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . deindex ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Generates normals from vertices so you do not have to do it manually. If `flip` is `true`, the resulting normals will be inverted.\nRequires the primitive type to be set to [constant Mesh.PRIMITIVE_TRIANGLES].\n# Default Arguments\n* `flip` - `false`"] # [doc = ""] # [inline] pub fn generate_normals (& self , flip : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . generate_normals ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , flip) ; } } # [doc = "Generates a tangent vector for each vertex. Requires that each vertex have UVs and normals set already."] # [doc = ""] # [inline] pub fn generate_tangents (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . generate_tangents ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Shrinks the vertex array by creating an index array (avoids reusing vertices)."] # [doc = ""] # [inline] pub fn index (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . index ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Sets [Material] to be used by the [Mesh] you are constructing."] # [doc = ""] # [inline] pub fn set_material (& self , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SurfaceToolMethodTable :: get (get_api ()) . set_material ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , material . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SurfaceTool { } unsafe impl GodotObject for SurfaceTool { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "SurfaceTool" } } impl std :: ops :: Deref for SurfaceTool { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SurfaceTool { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for SurfaceTool { } unsafe impl SubClass < crate :: generated :: object :: Object > for SurfaceTool { } impl Instanciable for SurfaceTool { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SurfaceTool :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SurfaceToolMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_bones : * mut sys :: godot_method_bind , pub add_color : * mut sys :: godot_method_bind , pub add_index : * mut sys :: godot_method_bind , pub add_normal : * mut sys :: godot_method_bind , pub add_smooth_group : * mut sys :: godot_method_bind , pub add_tangent : * mut sys :: godot_method_bind , pub add_triangle_fan : * mut sys :: godot_method_bind , pub add_uv : * mut sys :: godot_method_bind , pub add_uv2 : * mut sys :: godot_method_bind , pub add_vertex : * mut sys :: godot_method_bind , pub add_weights : * mut sys :: godot_method_bind , pub append_from : * mut sys :: godot_method_bind , pub begin : * mut sys :: godot_method_bind , pub clear : * mut sys :: godot_method_bind , pub commit : * mut sys :: godot_method_bind , pub commit_to_arrays : * mut sys :: godot_method_bind , pub create_from : * mut sys :: godot_method_bind , pub create_from_blend_shape : * mut sys :: godot_method_bind , pub deindex : * mut sys :: godot_method_bind , pub generate_normals : * mut sys :: godot_method_bind , pub generate_tangents : * mut sys :: godot_method_bind , pub index : * mut sys :: godot_method_bind , pub set_material : * mut sys :: godot_method_bind } impl SurfaceToolMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SurfaceToolMethodTable = SurfaceToolMethodTable { class_constructor : None , add_bones : 0 as * mut sys :: godot_method_bind , add_color : 0 as * mut sys :: godot_method_bind , add_index : 0 as * mut sys :: godot_method_bind , add_normal : 0 as * mut sys :: godot_method_bind , add_smooth_group : 0 as * mut sys :: godot_method_bind , add_tangent : 0 as * mut sys :: godot_method_bind , add_triangle_fan : 0 as * mut sys :: godot_method_bind , add_uv : 0 as * mut sys :: godot_method_bind , add_uv2 : 0 as * mut sys :: godot_method_bind , add_vertex : 0 as * mut sys :: godot_method_bind , add_weights : 0 as * mut sys :: godot_method_bind , append_from : 0 as * mut sys :: godot_method_bind , begin : 0 as * mut sys :: godot_method_bind , clear : 0 as * mut sys :: godot_method_bind , commit : 0 as * mut sys :: godot_method_bind , commit_to_arrays : 0 as * mut sys :: godot_method_bind , create_from : 0 as * mut sys :: godot_method_bind , create_from_blend_shape : 0 as * mut sys :: godot_method_bind , deindex : 0 as * mut sys :: godot_method_bind , generate_normals : 0 as * mut sys :: godot_method_bind , generate_tangents : 0 as * mut sys :: godot_method_bind , index : 0 as * mut sys :: godot_method_bind , set_material : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SurfaceToolMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SurfaceTool\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_bones = (gd_api . godot_method_bind_get_method) (class_name , "add_bones\0" . as_ptr () as * const c_char) ; table . add_color = (gd_api . godot_method_bind_get_method) (class_name , "add_color\0" . as_ptr () as * const c_char) ; table . add_index = (gd_api . godot_method_bind_get_method) (class_name , "add_index\0" . as_ptr () as * const c_char) ; table . add_normal = (gd_api . godot_method_bind_get_method) (class_name , "add_normal\0" . as_ptr () as * const c_char) ; table . add_smooth_group = (gd_api . godot_method_bind_get_method) (class_name , "add_smooth_group\0" . as_ptr () as * const c_char) ; table . add_tangent = (gd_api . godot_method_bind_get_method) (class_name , "add_tangent\0" . as_ptr () as * const c_char) ; table . add_triangle_fan = (gd_api . godot_method_bind_get_method) (class_name , "add_triangle_fan\0" . as_ptr () as * const c_char) ; table . add_uv = (gd_api . godot_method_bind_get_method) (class_name , "add_uv\0" . as_ptr () as * const c_char) ; table . add_uv2 = (gd_api . godot_method_bind_get_method) (class_name , "add_uv2\0" . as_ptr () as * const c_char) ; table . add_vertex = (gd_api . godot_method_bind_get_method) (class_name , "add_vertex\0" . as_ptr () as * const c_char) ; table . add_weights = (gd_api . godot_method_bind_get_method) (class_name , "add_weights\0" . as_ptr () as * const c_char) ; table . append_from = (gd_api . godot_method_bind_get_method) (class_name , "append_from\0" . as_ptr () as * const c_char) ; table . begin = (gd_api . godot_method_bind_get_method) (class_name , "begin\0" . as_ptr () as * const c_char) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . commit = (gd_api . godot_method_bind_get_method) (class_name , "commit\0" . as_ptr () as * const c_char) ; table . commit_to_arrays = (gd_api . godot_method_bind_get_method) (class_name , "commit_to_arrays\0" . as_ptr () as * const c_char) ; table . create_from = (gd_api . godot_method_bind_get_method) (class_name , "create_from\0" . as_ptr () as * const c_char) ; table . create_from_blend_shape = (gd_api . godot_method_bind_get_method) (class_name , "create_from_blend_shape\0" . as_ptr () as * const c_char) ; table . deindex = (gd_api . godot_method_bind_get_method) (class_name , "deindex\0" . as_ptr () as * const c_char) ; table . generate_normals = (gd_api . godot_method_bind_get_method) (class_name , "generate_normals\0" . as_ptr () as * const c_char) ; table . generate_tangents = (gd_api . godot_method_bind_get_method) (class_name , "generate_tangents\0" . as_ptr () as * const c_char) ; table . index = (gd_api . godot_method_bind_get_method) (class_name , "index\0" . as_ptr () as * const c_char) ; table . set_material = (gd_api . godot_method_bind_get_method) (class_name , "set_material\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:676:5601
[INFO] [stdout]     |
[INFO] [stdout] 676 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 676 |                 # [doc = "`core class GDNative` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_gdnative.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nGDNative inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct GDNative { this : RawObject < Self > , } impl GDNative { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = GDNativeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn call_native (& self , calling_type : impl Into < GodotString > , procedure_name : impl Into < GodotString > , arguments : VariantArray) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = GDNativeMethodTable :: get (get_api ()) . call_native ; let ret = crate :: icalls :: icallptr_var_str_str_arr (method_bind , self . this . sys () . as_ptr () , calling_type . into () , procedure_name . into () , arguments) ; Variant :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn library (& self) -> Option < Ref < crate :: generated :: gdnative_library :: GDNativeLibrary , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = GDNativeMethodTable :: get (get_api ()) . get_library ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: gdnative_library :: GDNativeLibrary , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn initialize (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = GDNativeMethodTable :: get (get_api ()) . initialize ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_library (& self , library : impl AsArg < crate :: generated :: gdnative_library :: GDNativeLibrary >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GDNativeMethodTable :: get (get_api ()) . set_library ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , library . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn terminate (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = GDNativeMethodTable :: get (get_api ()) . terminate ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } } impl gdnative_core :: private :: godot_object :: Sealed for GDNative { } unsafe impl GodotObject for GDNative { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "GDNative" } } impl std :: ops :: Deref for GDNative { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for GDNative { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for GDNative { } unsafe impl SubClass < crate :: generated :: object :: Object > for GDNative { } impl Instanciable for GDNative { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { GDNative :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct GDNativeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub call_native : * mut sys :: godot_method_bind , pub get_library : * mut sys :: godot_method_bind , pub initialize : * mut sys :: godot_method_bind , pub set_library : * mut sys :: godot_method_bind , pub terminate : * mut sys :: godot_method_bind } impl GDNativeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : GDNativeMethodTable = GDNativeMethodTable { class_constructor : None , call_native : 0 as * mut sys :: godot_method_bind , get_library : 0 as * mut sys :: godot_method_bind , initialize : 0 as * mut sys :: godot_method_bind , set_library : 0 as * mut sys :: godot_method_bind , terminate : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { GDNativeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "GDNative\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . call_native = (gd_api . godot_method_bind_get_method) (class_name , "call_native\0" . as_ptr () as * const c_char) ; table . get_library = (gd_api . godot_method_bind_get_method) (class_name , "get_library\0" . as_ptr () as * const c_char) ; table . initialize = (gd_api . godot_method_bind_get_method) (class_name , "initialize\0" . as_ptr () as * const c_char) ; table . set_library = (gd_api . godot_method_bind_get_method) (class_name , "set_library\0" . as_ptr () as * const c_char) ; table . terminate = (gd_api . godot_method_bind_get_method) (class_name , "terminate\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:682:6252
[INFO] [stdout]     |
[INFO] [stdout] 682 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 682 |                 # [doc = "`core class InputEventJoypadButton` inherits `InputEvent` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_inputeventjoypadbutton.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nInputEventJoypadButton inherits methods from:\n - [InputEvent](struct.InputEvent.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct InputEventJoypadButton { this : RawObject < Self > , } impl InputEventJoypadButton { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = InputEventJoypadButtonMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Button identifier. One of the [enum JoystickList] button constants."] # [doc = ""] # [inline] pub fn button_index (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventJoypadButtonMethodTable :: get (get_api ()) . get_button_index ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Represents the pressure the user puts on the button with his finger, if the controller supports it. Ranges from `0` to `1`."] # [doc = ""] # [inline] pub fn pressure (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventJoypadButtonMethodTable :: get (get_api ()) . get_pressure ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Button identifier. One of the [enum JoystickList] button constants."] # [doc = ""] # [inline] pub fn set_button_index (& self , button_index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventJoypadButtonMethodTable :: get (get_api ()) . set_button_index ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , button_index) ; } } # [doc = "If `true`, the button's state is pressed. If `false`, the button's state is released."] # [doc = ""] # [inline] pub fn set_pressed (& self , pressed : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventJoypadButtonMethodTable :: get (get_api ()) . set_pressed ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , pressed) ; } } # [doc = "Represents the pressure the user puts on the button with his finger, if the controller supports it. Ranges from `0` to `1`."] # [doc = ""] # [inline] pub fn set_pressure (& self , pressure : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventJoypadButtonMethodTable :: get (get_api ()) . set_pressure ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , pressure) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for InputEventJoypadButton { } unsafe impl GodotObject for InputEventJoypadButton { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "InputEventJoypadButton" } } impl std :: ops :: Deref for InputEventJoypadButton { type Target = crate :: generated :: input_event :: InputEvent ; # [inline] fn deref (& self) -> & crate :: generated :: input_event :: InputEvent { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for InputEventJoypadButton { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: input_event :: InputEvent { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: input_event :: InputEvent > for InputEventJoypadButton { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for InputEventJoypadButton { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for InputEventJoypadButton { } unsafe impl SubClass < crate :: generated :: object :: Object > for InputEventJoypadButton { } impl Instanciable for InputEventJoypadButton { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { InputEventJoypadButton :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct InputEventJoypadButtonMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_button_index : * mut sys :: godot_method_bind , pub get_pressure : * mut sys :: godot_method_bind , pub set_button_index : * mut sys :: godot_method_bind , pub set_pressed : * mut sys :: godot_method_bind , pub set_pressure : * mut sys :: godot_method_bind } impl InputEventJoypadButtonMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : InputEventJoypadButtonMethodTable = InputEventJoypadButtonMethodTable { class_constructor : None , get_button_index : 0 as * mut sys :: godot_method_bind , get_pressure : 0 as * mut sys :: godot_method_bind , set_button_index : 0 as * mut sys :: godot_method_bind , set_pressed : 0 as * mut sys :: godot_method_bind , set_pressure : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { InputEventJoypadButtonMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "InputEventJoypadButton\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_button_index = (gd_api . godot_method_bind_get_method) (class_name , "get_button_index\0" . as_ptr () as * const c_char) ; table . get_pressure = (gd_api . godot_method_bind_get_method) (class_name , "get_pressure\0" . as_ptr () as * const c_char) ; table . set_button_index = (gd_api . godot_method_bind_get_method) (class_name , "set_button_index\0" . as_ptr () as * const c_char) ; table . set_pressed = (gd_api . godot_method_bind_get_method) (class_name , "set_pressed\0" . as_ptr () as * const c_char) ; table . set_pressure = (gd_api . godot_method_bind_get_method) (class_name , "set_pressure\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:10:16138
[INFO] [stdout]    |
[INFO] [stdout] 10 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 10 |                 # [doc = "`core class HTTPRequest` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_httprequest.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`HTTPRequest` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<HTTPRequest>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nHTTPRequest inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct HTTPRequest { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct HttpRequestResult (pub i64) ; impl HttpRequestResult { pub const SUCCESS : HttpRequestResult = HttpRequestResult (0i64) ; pub const CHUNKED_BODY_SIZE_MISMATCH : HttpRequestResult = HttpRequestResult (1i64) ; pub const CANT_CONNECT : HttpRequestResult = HttpRequestResult (2i64) ; pub const CANT_RESOLVE : HttpRequestResult = HttpRequestResult (3i64) ; pub const CONNECTION_ERROR : HttpRequestResult = HttpRequestResult (4i64) ; pub const SSL_HANDSHAKE_ERROR : HttpRequestResult = HttpRequestResult (5i64) ; pub const NO_RESPONSE : HttpRequestResult = HttpRequestResult (6i64) ; pub const BODY_SIZE_LIMIT_EXCEEDED : HttpRequestResult = HttpRequestResult (7i64) ; pub const REQUEST_FAILED : HttpRequestResult = HttpRequestResult (8i64) ; pub const DOWNLOAD_FILE_CANT_OPEN : HttpRequestResult = HttpRequestResult (9i64) ; pub const DOWNLOAD_FILE_WRITE_ERROR : HttpRequestResult = HttpRequestResult (10i64) ; pub const REDIRECT_LIMIT_REACHED : HttpRequestResult = HttpRequestResult (11i64) ; pub const TIMEOUT : HttpRequestResult = HttpRequestResult (12i64) ; } impl From < i64 > for HttpRequestResult { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < HttpRequestResult > for i64 { # [inline] fn from (v : HttpRequestResult) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl HTTPRequest { pub const RESULT_BODY_SIZE_LIMIT_EXCEEDED : i64 = 7i64 ; pub const RESULT_CANT_CONNECT : i64 = 2i64 ; pub const RESULT_CANT_RESOLVE : i64 = 3i64 ; pub const RESULT_CHUNKED_BODY_SIZE_MISMATCH : i64 = 1i64 ; pub const RESULT_CONNECTION_ERROR : i64 = 4i64 ; pub const RESULT_DOWNLOAD_FILE_CANT_OPEN : i64 = 9i64 ; pub const RESULT_DOWNLOAD_FILE_WRITE_ERROR : i64 = 10i64 ; pub const RESULT_NO_RESPONSE : i64 = 6i64 ; pub const RESULT_REDIRECT_LIMIT_REACHED : i64 = 11i64 ; pub const RESULT_REQUEST_FAILED : i64 = 8i64 ; pub const RESULT_SSL_HANDSHAKE_ERROR : i64 = 5i64 ; pub const RESULT_SUCCESS : i64 = 0i64 ; pub const RESULT_TIMEOUT : i64 = 12i64 ; } impl HTTPRequest { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = HTTPRequestMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Cancels the current request."] # [doc = ""] # [inline] pub fn cancel_request (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . cancel_request ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns the response body length.\n**Note:** Some Web servers may not send a body length. In this case, the value returned will be `-1`. If using chunked transfer encoding, the body length will also be `-1`."] # [doc = ""] # [inline] pub fn get_body_size (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_body_size ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Maximum allowed size for response bodies."] # [doc = ""] # [inline] pub fn body_size_limit (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_body_size_limit ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The size of the buffer used and maximum bytes to read per iteration. See [member HTTPClient.read_chunk_size].\nSet this to a higher value (e.g. 65536 for 64 KiB) when downloading large files to achieve better speeds at the cost of memory."] # [doc = ""] # [inline] pub fn download_chunk_size (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_download_chunk_size ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The file to download into. Will output any received file into it."] # [doc = ""] # [inline] pub fn download_file (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_download_file ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the amount of bytes this HTTPRequest downloaded."] # [doc = ""] # [inline] pub fn get_downloaded_bytes (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_downloaded_bytes ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the current status of the underlying [HTTPClient]. See [enum HTTPClient.Status]."] # [doc = ""] # [inline] pub fn get_http_client_status (& self) -> crate :: generated :: http_client :: Status { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_http_client_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: http_client :: Status (ret) } } # [doc = "Maximum number of allowed redirects."] # [doc = ""] # [inline] pub fn max_redirects (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_max_redirects ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn timeout (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . get_timeout ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, multithreading is used to improve performance."] # [doc = ""] # [inline] pub fn is_using_threads (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . is_using_threads ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Creates request on the underlying [HTTPClient]. If there is no configuration errors, it tries to connect using [method HTTPClient.connect_to_host] and passes parameters onto [method HTTPClient.request].\nReturns [constant OK] if request is successfully created. (Does not imply that the server has responded), [constant ERR_UNCONFIGURED] if not in the tree, [constant ERR_BUSY] if still processing previous request, [constant ERR_INVALID_PARAMETER] if given string is not a valid URL format, or [constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot connect to host.\n**Note:** The `request_data` parameter is ignored if `method` is [constant HTTPClient.METHOD_GET]. This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See [method String.http_escape] for an example.\n# Default Arguments\n* `custom_headers` - `PoolStringArray(  )`\n* `ssl_validate_domain` - `true`\n* `method` - `0`\n* `request_data` - `\"\"`"] # [doc = ""] # [inline] pub fn request (& self , url : impl Into < GodotString > , custom_headers : StringArray , ssl_validate_domain : bool , method : i64 , request_data : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . request ; let ret = crate :: icalls :: icallptr_i64_str_strarr_bool_i64_str (method_bind , self . this . sys () . as_ptr () , url . into () , custom_headers , ssl_validate_domain , method , request_data . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Maximum allowed size for response bodies."] # [doc = ""] # [inline] pub fn set_body_size_limit (& self , bytes : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_body_size_limit ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , bytes) ; } } # [doc = "The size of the buffer used and maximum bytes to read per iteration. See [member HTTPClient.read_chunk_size].\nSet this to a higher value (e.g. 65536 for 64 KiB) when downloading large files to achieve better speeds at the cost of memory."] # [doc = ""] # [inline] pub fn set_download_chunk_size (& self , arg0 : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_download_chunk_size ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , arg0) ; } } # [doc = "The file to download into. Will output any received file into it."] # [doc = ""] # [inline] pub fn set_download_file (& self , path : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_download_file ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , path . into ()) ; } } # [doc = "Maximum number of allowed redirects."] # [doc = ""] # [inline] pub fn set_max_redirects (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_max_redirects ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_timeout (& self , timeout : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_timeout ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , timeout) ; } } # [doc = "If `true`, multithreading is used to improve performance."] # [doc = ""] # [inline] pub fn set_use_threads (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = HTTPRequestMethodTable :: get (get_api ()) . set_use_threads ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for HTTPRequest { } unsafe impl GodotObject for HTTPRequest { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "HTTPRequest" } } impl QueueFree for HTTPRequest { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for HTTPRequest { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for HTTPRequest { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for HTTPRequest { } unsafe impl SubClass < crate :: generated :: object :: Object > for HTTPRequest { } impl Instanciable for HTTPRequest { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { HTTPRequest :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct HTTPRequestMethodTable { pub class_constructor : sys :: godot_class_constructor , pub cancel_request : * mut sys :: godot_method_bind , pub get_body_size : * mut sys :: godot_method_bind , pub get_body_size_limit : * mut sys :: godot_method_bind , pub get_download_chunk_size : * mut sys :: godot_method_bind , pub get_download_file : * mut sys :: godot_method_bind , pub get_downloaded_bytes : * mut sys :: godot_method_bind , pub get_http_client_status : * mut sys :: godot_method_bind , pub get_max_redirects : * mut sys :: godot_method_bind , pub get_timeout : * mut sys :: godot_method_bind , pub is_using_threads : * mut sys :: godot_method_bind , pub request : * mut sys :: godot_method_bind , pub set_body_size_limit : * mut sys :: godot_method_bind , pub set_download_chunk_size : * mut sys :: godot_method_bind , pub set_download_file : * mut sys :: godot_method_bind , pub set_max_redirects : * mut sys :: godot_method_bind , pub set_timeout : * mut sys :: godot_method_bind , pub set_use_threads : * mut sys :: godot_method_bind } impl HTTPRequestMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : HTTPRequestMethodTable = HTTPRequestMethodTable { class_constructor : None , cancel_request : 0 as * mut sys :: godot_method_bind , get_body_size : 0 as * mut sys :: godot_method_bind , get_body_size_limit : 0 as * mut sys :: godot_method_bind , get_download_chunk_size : 0 as * mut sys :: godot_method_bind , get_download_file : 0 as * mut sys :: godot_method_bind , get_downloaded_bytes : 0 as * mut sys :: godot_method_bind , get_http_client_status : 0 as * mut sys :: godot_method_bind , get_max_redirects : 0 as * mut sys :: godot_method_bind , get_timeout : 0 as * mut sys :: godot_method_bind , is_using_threads : 0 as * mut sys :: godot_method_bind , request : 0 as * mut sys :: godot_method_bind , set_body_size_limit : 0 as * mut sys :: godot_method_bind , set_download_chunk_size : 0 as * mut sys :: godot_method_bind , set_download_file : 0 as * mut sys :: godot_method_bind , set_max_redirects : 0 as * mut sys :: godot_method_bind , set_timeout : 0 as * mut sys :: godot_method_bind , set_use_threads : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { HTTPRequestMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "HTTPRequest\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . cancel_request = (gd_api . godot_method_bind_get_method) (class_name , "cancel_request\0" . as_ptr () as * const c_char) ; table . get_body_size = (gd_api . godot_method_bind_get_method) (class_name , "get_body_size\0" . as_ptr () as * const c_char) ; table . get_body_size_limit = (gd_api . godot_method_bind_get_method) (class_name , "get_body_size_limit\0" . as_ptr () as * const c_char) ; table . get_download_chunk_size = (gd_api . godot_method_bind_get_method) (class_name , "get_download_chunk_size\0" . as_ptr () as * const c_char) ; table . get_download_file = (gd_api . godot_method_bind_get_method) (class_name , "get_download_file\0" . as_ptr () as * const c_char) ; table . get_downloaded_bytes = (gd_api . godot_method_bind_get_method) (class_name , "get_downloaded_bytes\0" . as_ptr () as * const c_char) ; table . get_http_client_status = (gd_api . godot_method_bind_get_method) (class_name , "get_http_client_status\0" . as_ptr () as * const c_char) ; table . get_max_redirects = (gd_api . godot_method_bind_get_method) (class_name , "get_max_redirects\0" . as_ptr () as * const c_char) ; table . get_timeout = (gd_api . godot_method_bind_get_method) (class_name , "get_timeout\0" . as_ptr () as * const c_char) ; table . is_using_threads = (gd_api . godot_method_bind_get_method) (class_name , "is_using_threads\0" . as_ptr () as * const c_char) ; table . request = (gd_api . godot_method_bind_get_method) (class_name , "request\0" . as_ptr () as * const c_char) ; table . set_body_size_limit = (gd_api . godot_method_bind_get_method) (class_name , "set_body_size_limit\0" . as_ptr () as * const c_char) ; table . set_download_chunk_size = (gd_api . godot_method_bind_get_method) (class_name , "set_download_chunk_size\0" . as_ptr () as * const c_char) ; table . set_download_file = (gd_api . godot_method_bind_get_method) (class_name , "set_download_file\0" . as_ptr () as * const c_char) ; table . set_max_redirects = (gd_api . godot_method_bind_get_method) (class_name , "set_max_redirects\0" . as_ptr () as * const c_char) ; table . set_timeout = (gd_api . godot_method_bind_get_method) (class_name , "set_timeout\0" . as_ptr () as * const c_char) ; table . set_use_threads = (gd_api . godot_method_bind_get_method) (class_name , "set_use_threads\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:694:7789
[INFO] [stdout]     |
[INFO] [stdout] 694 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 694 |                 # [doc = "`core class Bone2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_bone2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Bone2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Bone2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nBone2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Bone2D { this : RawObject < Self > , } impl Bone2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Bone2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Stores the node's current transforms in [member rest]."] # [doc = ""] # [inline] pub fn apply_rest (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Bone2DMethodTable :: get (get_api ()) . apply_rest ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Length of the bone's representation drawn in the editor's viewport in pixels."] # [doc = ""] # [inline] pub fn default_length (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Bone2DMethodTable :: get (get_api ()) . get_default_length ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the node's index as part of the entire skeleton. See [Skeleton2D]."] # [doc = ""] # [inline] pub fn get_index_in_skeleton (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Bone2DMethodTable :: get (get_api ()) . get_index_in_skeleton ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Rest transform of the bone. You can reset the node's transforms to this value using [method apply_rest]."] # [doc = ""] # [inline] pub fn rest (& self) -> Transform2D { unsafe { let method_bind : * mut sys :: godot_method_bind = Bone2DMethodTable :: get (get_api ()) . get_rest ; let ret = crate :: icalls :: icallptr_trans2D (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the node's [member rest] `Transform2D` if it doesn't have a parent, or its rest pose relative to its parent."] # [doc = ""] # [inline] pub fn get_skeleton_rest (& self) -> Transform2D { unsafe { let method_bind : * mut sys :: godot_method_bind = Bone2DMethodTable :: get (get_api ()) . get_skeleton_rest ; let ret = crate :: icalls :: icallptr_trans2D (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Length of the bone's representation drawn in the editor's viewport in pixels."] # [doc = ""] # [inline] pub fn set_default_length (& self , default_length : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Bone2DMethodTable :: get (get_api ()) . set_default_length ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , default_length) ; } } # [doc = "Rest transform of the bone. You can reset the node's transforms to this value using [method apply_rest]."] # [doc = ""] # [inline] pub fn set_rest (& self , rest : Transform2D) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Bone2DMethodTable :: get (get_api ()) . set_rest ; let ret = crate :: icalls :: icallptr_void_trans2D (method_bind , self . this . sys () . as_ptr () , rest) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Bone2D { } unsafe impl GodotObject for Bone2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Bone2D" } } impl QueueFree for Bone2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Bone2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Bone2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for Bone2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Bone2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for Bone2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for Bone2D { } impl Instanciable for Bone2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Bone2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Bone2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub apply_rest : * mut sys :: godot_method_bind , pub get_default_length : * mut sys :: godot_method_bind , pub get_index_in_skeleton : * mut sys :: godot_method_bind , pub get_rest : * mut sys :: godot_method_bind , pub get_skeleton_rest : * mut sys :: godot_method_bind , pub set_default_length : * mut sys :: godot_method_bind , pub set_rest : * mut sys :: godot_method_bind } impl Bone2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Bone2DMethodTable = Bone2DMethodTable { class_constructor : None , apply_rest : 0 as * mut sys :: godot_method_bind , get_default_length : 0 as * mut sys :: godot_method_bind , get_index_in_skeleton : 0 as * mut sys :: godot_method_bind , get_rest : 0 as * mut sys :: godot_method_bind , get_skeleton_rest : 0 as * mut sys :: godot_method_bind , set_default_length : 0 as * mut sys :: godot_method_bind , set_rest : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Bone2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Bone2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . apply_rest = (gd_api . godot_method_bind_get_method) (class_name , "apply_rest\0" . as_ptr () as * const c_char) ; table . get_default_length = (gd_api . godot_method_bind_get_method) (class_name , "get_default_length\0" . as_ptr () as * const c_char) ; table . get_index_in_skeleton = (gd_api . godot_method_bind_get_method) (class_name , "get_index_in_skeleton\0" . as_ptr () as * const c_char) ; table . get_rest = (gd_api . godot_method_bind_get_method) (class_name , "get_rest\0" . as_ptr () as * const c_char) ; table . get_skeleton_rest = (gd_api . godot_method_bind_get_method) (class_name , "get_skeleton_rest\0" . as_ptr () as * const c_char) ; table . set_default_length = (gd_api . godot_method_bind_get_method) (class_name , "set_default_length\0" . as_ptr () as * const c_char) ; table . set_rest = (gd_api . godot_method_bind_get_method) (class_name , "set_rest\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:16:8442
[INFO] [stdout]    |
[INFO] [stdout] 16 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 # [doc = "`core class VisualShaderNodeCubeMap` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodecubemap.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeCubeMap inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeCubeMap { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Source (pub i64) ; impl Source { pub const TEXTURE : Source = Source (0i64) ; pub const PORT : Source = Source (1i64) ; } impl From < i64 > for Source { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Source > for i64 { # [inline] fn from (v : Source) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TextureType (pub i64) ; impl TextureType { pub const DATA : TextureType = TextureType (0i64) ; pub const COLOR : TextureType = TextureType (1i64) ; pub const NORMALMAP : TextureType = TextureType (2i64) ; } impl From < i64 > for TextureType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TextureType > for i64 { # [inline] fn from (v : TextureType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShaderNodeCubeMap { pub const SOURCE_PORT : i64 = 1i64 ; pub const SOURCE_TEXTURE : i64 = 0i64 ; pub const TYPE_COLOR : i64 = 1i64 ; pub const TYPE_DATA : i64 = 0i64 ; pub const TYPE_NORMALMAP : i64 = 2i64 ; } impl VisualShaderNodeCubeMap { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeCubeMapMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [CubeMap] texture to sample when using [constant SOURCE_TEXTURE] as [member source]."] # [doc = ""] # [inline] pub fn cube_map (& self) -> Option < Ref < crate :: generated :: cube_map :: CubeMap , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . get_cube_map ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: cube_map :: CubeMap , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Defines which source should be used for the sampling. See [enum Source] for options."] # [doc = ""] # [inline] pub fn source (& self) -> crate :: generated :: visual_shader_node_cube_map :: Source { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . get_source ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_cube_map :: Source (ret) } } # [doc = "Defines the type of data provided by the source texture. See [enum TextureType] for options."] # [doc = ""] # [inline] pub fn texture_type (& self) -> crate :: generated :: visual_shader_node_cube_map :: TextureType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . get_texture_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_cube_map :: TextureType (ret) } } # [doc = "The [CubeMap] texture to sample when using [constant SOURCE_TEXTURE] as [member source]."] # [doc = ""] # [inline] pub fn set_cube_map (& self , value : impl AsArg < crate :: generated :: cube_map :: CubeMap >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . set_cube_map ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , value . as_arg_ptr ()) ; } } # [doc = "Defines which source should be used for the sampling. See [enum Source] for options."] # [doc = ""] # [inline] pub fn set_source (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . set_source ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Defines the type of data provided by the source texture. See [enum TextureType] for options."] # [doc = ""] # [inline] pub fn set_texture_type (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeCubeMapMethodTable :: get (get_api ()) . set_texture_type ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeCubeMap { } unsafe impl GodotObject for VisualShaderNodeCubeMap { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeCubeMap" } } impl std :: ops :: Deref for VisualShaderNodeCubeMap { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeCubeMap { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeCubeMap { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeCubeMap { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeCubeMap { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeCubeMap { } impl Instanciable for VisualShaderNodeCubeMap { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeCubeMap :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeCubeMapMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cube_map : * mut sys :: godot_method_bind , pub get_source : * mut sys :: godot_method_bind , pub get_texture_type : * mut sys :: godot_method_bind , pub set_cube_map : * mut sys :: godot_method_bind , pub set_source : * mut sys :: godot_method_bind , pub set_texture_type : * mut sys :: godot_method_bind } impl VisualShaderNodeCubeMapMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeCubeMapMethodTable = VisualShaderNodeCubeMapMethodTable { class_constructor : None , get_cube_map : 0 as * mut sys :: godot_method_bind , get_source : 0 as * mut sys :: godot_method_bind , get_texture_type : 0 as * mut sys :: godot_method_bind , set_cube_map : 0 as * mut sys :: godot_method_bind , set_source : 0 as * mut sys :: godot_method_bind , set_texture_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeCubeMapMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeCubeMap\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cube_map = (gd_api . godot_method_bind_get_method) (class_name , "get_cube_map\0" . as_ptr () as * const c_char) ; table . get_source = (gd_api . godot_method_bind_get_method) (class_name , "get_source\0" . as_ptr () as * const c_char) ; table . get_texture_type = (gd_api . godot_method_bind_get_method) (class_name , "get_texture_type\0" . as_ptr () as * const c_char) ; table . set_cube_map = (gd_api . godot_method_bind_get_method) (class_name , "set_cube_map\0" . as_ptr () as * const c_char) ; table . set_source = (gd_api . godot_method_bind_get_method) (class_name , "set_source\0" . as_ptr () as * const c_char) ; table . set_texture_type = (gd_api . godot_method_bind_get_method) (class_name , "set_texture_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:706:4847
[INFO] [stdout]     |
[INFO] [stdout] 706 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 706 |                 # [doc = "`core class VisualShaderNodeBooleanConstant` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodebooleanconstant.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeBooleanConstant inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeBooleanConstant { this : RawObject < Self > , } impl VisualShaderNodeBooleanConstant { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeBooleanConstantMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "A boolean constant which represents a state of this node."] # [doc = ""] # [inline] pub fn constant (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeBooleanConstantMethodTable :: get (get_api ()) . get_constant ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "A boolean constant which represents a state of this node."] # [doc = ""] # [inline] pub fn set_constant (& self , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeBooleanConstantMethodTable :: get (get_api ()) . set_constant ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , value) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeBooleanConstant { } unsafe impl GodotObject for VisualShaderNodeBooleanConstant { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeBooleanConstant" } } impl std :: ops :: Deref for VisualShaderNodeBooleanConstant { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeBooleanConstant { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeBooleanConstant { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeBooleanConstant { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeBooleanConstant { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeBooleanConstant { } impl Instanciable for VisualShaderNodeBooleanConstant { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeBooleanConstant :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeBooleanConstantMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_constant : * mut sys :: godot_method_bind , pub set_constant : * mut sys :: godot_method_bind } impl VisualShaderNodeBooleanConstantMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeBooleanConstantMethodTable = VisualShaderNodeBooleanConstantMethodTable { class_constructor : None , get_constant : 0 as * mut sys :: godot_method_bind , set_constant : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeBooleanConstantMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeBooleanConstant\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_constant = (gd_api . godot_method_bind_get_method) (class_name , "get_constant\0" . as_ptr () as * const c_char) ; table . set_constant = (gd_api . godot_method_bind_get_method) (class_name , "set_constant\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:22:6340
[INFO] [stdout]    |
[INFO] [stdout] 22 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 # [doc = "`core class Thread` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_thread.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nThread inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Thread { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Priority (pub i64) ; impl Priority { pub const LOW : Priority = Priority (0i64) ; pub const NORMAL : Priority = Priority (1i64) ; pub const HIGH : Priority = Priority (2i64) ; } impl From < i64 > for Priority { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Priority > for i64 { # [inline] fn from (v : Priority) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Thread { pub const PRIORITY_HIGH : i64 = 2i64 ; pub const PRIORITY_LOW : i64 = 0i64 ; pub const PRIORITY_NORMAL : i64 = 1i64 ; } impl Thread { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ThreadMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns the current [Thread]'s ID, uniquely identifying it among all threads. If the [Thread] is not running this returns an empty string."] # [doc = ""] # [inline] pub fn get_id (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . get_id ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns `true` if this [Thread] is currently active. An active [Thread] cannot start work on a new method but can be joined with [method wait_to_finish]."] # [doc = ""] # [inline] pub fn is_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . is_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Starts a new [Thread] that runs `method` on object `instance` with `userdata` passed as an argument. Even if no userdata is passed, `method` must accept one argument and it will be null. The `priority` of the [Thread] can be changed by passing a value from the [enum Priority] enum.\nReturns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure.\n# Default Arguments\n* `userdata` - `null`\n* `priority` - `1`"] # [doc = ""] # [inline] pub fn start (& self , instance : impl AsArg < crate :: generated :: object :: Object > , method : impl Into < GodotString > , userdata : impl OwnedToVariant , priority : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . start ; let ret = crate :: icalls :: icallptr_i64_obj_str_var_i64 (method_bind , self . this . sys () . as_ptr () , instance . as_arg_ptr () , method . into () , userdata . owned_to_variant () , priority) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Joins the [Thread] and waits for it to finish. Returns what the method called returned."] # [doc = ""] # [inline] pub fn wait_to_finish (& self) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = ThreadMethodTable :: get (get_api ()) . wait_to_finish ; let ret = crate :: icalls :: icallptr_var (method_bind , self . this . sys () . as_ptr ()) ; Variant :: from_sys (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for Thread { } unsafe impl GodotObject for Thread { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Thread" } } impl std :: ops :: Deref for Thread { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Thread { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Thread { } unsafe impl SubClass < crate :: generated :: object :: Object > for Thread { } impl Instanciable for Thread { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Thread :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ThreadMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_id : * mut sys :: godot_method_bind , pub is_active : * mut sys :: godot_method_bind , pub start : * mut sys :: godot_method_bind , pub wait_to_finish : * mut sys :: godot_method_bind } impl ThreadMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ThreadMethodTable = ThreadMethodTable { class_constructor : None , get_id : 0 as * mut sys :: godot_method_bind , is_active : 0 as * mut sys :: godot_method_bind , start : 0 as * mut sys :: godot_method_bind , wait_to_finish : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ThreadMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "_Thread\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_id = (gd_api . godot_method_bind_get_method) (class_name , "get_id\0" . as_ptr () as * const c_char) ; table . is_active = (gd_api . godot_method_bind_get_method) (class_name , "is_active\0" . as_ptr () as * const c_char) ; table . start = (gd_api . godot_method_bind_get_method) (class_name , "start\0" . as_ptr () as * const c_char) ; table . wait_to_finish = (gd_api . godot_method_bind_get_method) (class_name , "wait_to_finish\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:712:8763
[INFO] [stdout]     |
[INFO] [stdout] 712 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 712 |                 # [doc = "`core class ARVRAnchor` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvranchor.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`ARVRAnchor` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<ARVRAnchor>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nARVRAnchor inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVRAnchor { this : RawObject < Self > , } impl ARVRAnchor { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ARVRAnchorMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The anchor's ID. You can set this before the anchor itself exists. The first anchor gets an ID of `1`, the second an ID of `2`, etc. When anchors get removed, the engine can then assign the corresponding ID to new anchors. The most common situation where anchors \"disappear\" is when the AR server identifies that two anchors represent different parts of the same plane and merges them."] # [doc = ""] # [inline] pub fn anchor_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRAnchorMethodTable :: get (get_api ()) . get_anchor_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the name given to this anchor."] # [doc = ""] # [inline] pub fn get_anchor_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRAnchorMethodTable :: get (get_api ()) . get_anchor_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns `true` if the anchor is being tracked and `false` if no anchor with this ID is currently known."] # [doc = ""] # [inline] pub fn get_is_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRAnchorMethodTable :: get (get_api ()) . get_is_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If provided by the [ARVRInterface], this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes."] # [doc = ""] # [inline] pub fn get_mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRAnchorMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns a plane aligned with our anchor; handy for intersection testing."] # [doc = ""] # [inline] pub fn get_plane (& self) -> Plane { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRAnchorMethodTable :: get (get_api ()) . get_plane ; let ret = crate :: icalls :: icallptr_plane (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the estimated size of the plane that was detected. Say when the anchor relates to a table in the real world, this is the estimated size of the surface of that table."] # [doc = ""] # [inline] pub fn get_size (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRAnchorMethodTable :: get (get_api ()) . get_size ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The anchor's ID. You can set this before the anchor itself exists. The first anchor gets an ID of `1`, the second an ID of `2`, etc. When anchors get removed, the engine can then assign the corresponding ID to new anchors. The most common situation where anchors \"disappear\" is when the AR server identifies that two anchors represent different parts of the same plane and merges them."] # [doc = ""] # [inline] pub fn set_anchor_id (& self , anchor_id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRAnchorMethodTable :: get (get_api ()) . set_anchor_id ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , anchor_id) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVRAnchor { } unsafe impl GodotObject for ARVRAnchor { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVRAnchor" } } impl QueueFree for ARVRAnchor { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for ARVRAnchor { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVRAnchor { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for ARVRAnchor { } unsafe impl SubClass < crate :: generated :: node :: Node > for ARVRAnchor { } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVRAnchor { } impl Instanciable for ARVRAnchor { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ARVRAnchor :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVRAnchorMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_anchor_id : * mut sys :: godot_method_bind , pub get_anchor_name : * mut sys :: godot_method_bind , pub get_is_active : * mut sys :: godot_method_bind , pub get_mesh : * mut sys :: godot_method_bind , pub get_plane : * mut sys :: godot_method_bind , pub get_size : * mut sys :: godot_method_bind , pub set_anchor_id : * mut sys :: godot_method_bind } impl ARVRAnchorMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVRAnchorMethodTable = ARVRAnchorMethodTable { class_constructor : None , get_anchor_id : 0 as * mut sys :: godot_method_bind , get_anchor_name : 0 as * mut sys :: godot_method_bind , get_is_active : 0 as * mut sys :: godot_method_bind , get_mesh : 0 as * mut sys :: godot_method_bind , get_plane : 0 as * mut sys :: godot_method_bind , get_size : 0 as * mut sys :: godot_method_bind , set_anchor_id : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVRAnchorMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVRAnchor\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_anchor_id = (gd_api . godot_method_bind_get_method) (class_name , "get_anchor_id\0" . as_ptr () as * const c_char) ; table . get_anchor_name = (gd_api . godot_method_bind_get_method) (class_name , "get_anchor_name\0" . as_ptr () as * const c_char) ; table . get_is_active = (gd_api . godot_method_bind_get_method) (class_name , "get_is_active\0" . as_ptr () as * const c_char) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . get_plane = (gd_api . godot_method_bind_get_method) (class_name , "get_plane\0" . as_ptr () as * const c_char) ; table . get_size = (gd_api . godot_method_bind_get_method) (class_name , "get_size\0" . as_ptr () as * const c_char) ; table . set_anchor_id = (gd_api . godot_method_bind_get_method) (class_name , "set_anchor_id\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:28:4298
[INFO] [stdout]    |
[INFO] [stdout] 28 | ...odTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 # [doc = "`core class ARVRCamera` inherits `Camera` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrcamera.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`ARVRCamera` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<ARVRCamera>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nARVRCamera inherits methods from:\n - [Camera](struct.Camera.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVRCamera { this : RawObject < Self > , } impl ARVRCamera { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ARVRCameraMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVRCamera { } unsafe impl GodotObject for ARVRCamera { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVRCamera" } } impl QueueFree for ARVRCamera { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for ARVRCamera { type Target = crate :: generated :: camera :: Camera ; # [inline] fn deref (& self) -> & crate :: generated :: camera :: Camera { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVRCamera { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: camera :: Camera { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: camera :: Camera > for ARVRCamera { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for ARVRCamera { } unsafe impl SubClass < crate :: generated :: node :: Node > for ARVRCamera { } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVRCamera { } impl Instanciable for ARVRCamera { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ARVRCamera :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVRCameraMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl ARVRCameraMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVRCameraMethodTable = ARVRCameraMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVRCameraMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVRCamera\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:718:3641
[INFO] [stdout]     |
[INFO] [stdout] 718 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 718 |                 # [doc = "`core class AudioEffectEQ21` inherits `AudioEffectEQ` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffecteq21.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectEQ21 inherits methods from:\n - [AudioEffectEQ](struct.AudioEffectEQ.html)\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectEQ21 { this : RawObject < Self > , } impl AudioEffectEQ21 { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectEQ21MethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectEQ21 { } unsafe impl GodotObject for AudioEffectEQ21 { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectEQ21" } } impl std :: ops :: Deref for AudioEffectEQ21 { type Target = crate :: generated :: audio_effect_eq :: AudioEffectEQ ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect_eq :: AudioEffectEQ { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectEQ21 { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect_eq :: AudioEffectEQ { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect_eq :: AudioEffectEQ > for AudioEffectEQ21 { } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectEQ21 { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectEQ21 { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectEQ21 { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectEQ21 { } impl Instanciable for AudioEffectEQ21 { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectEQ21 :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectEQ21MethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AudioEffectEQ21MethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectEQ21MethodTable = AudioEffectEQ21MethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectEQ21MethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectEQ21\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:724:5122
[INFO] [stdout]     |
[INFO] [stdout] 724 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 724 |                 # [doc = "`core class CapsuleShape2D` inherits `Shape2D` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_capsuleshape2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nCapsuleShape2D inherits methods from:\n - [Shape2D](struct.Shape2D.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CapsuleShape2D { this : RawObject < Self > , } impl CapsuleShape2D { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CapsuleShape2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The capsule's height."] # [doc = ""] # [inline] pub fn height (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CapsuleShape2DMethodTable :: get (get_api ()) . get_height ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The capsule's radius."] # [doc = ""] # [inline] pub fn radius (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CapsuleShape2DMethodTable :: get (get_api ()) . get_radius ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The capsule's height."] # [doc = ""] # [inline] pub fn set_height (& self , height : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CapsuleShape2DMethodTable :: get (get_api ()) . set_height ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , height) ; } } # [doc = "The capsule's radius."] # [doc = ""] # [inline] pub fn set_radius (& self , radius : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CapsuleShape2DMethodTable :: get (get_api ()) . set_radius ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , radius) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CapsuleShape2D { } unsafe impl GodotObject for CapsuleShape2D { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "CapsuleShape2D" } } impl std :: ops :: Deref for CapsuleShape2D { type Target = crate :: generated :: shape_2d :: Shape2D ; # [inline] fn deref (& self) -> & crate :: generated :: shape_2d :: Shape2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CapsuleShape2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: shape_2d :: Shape2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: shape_2d :: Shape2D > for CapsuleShape2D { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for CapsuleShape2D { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for CapsuleShape2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for CapsuleShape2D { } impl Instanciable for CapsuleShape2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CapsuleShape2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CapsuleShape2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_height : * mut sys :: godot_method_bind , pub get_radius : * mut sys :: godot_method_bind , pub set_height : * mut sys :: godot_method_bind , pub set_radius : * mut sys :: godot_method_bind } impl CapsuleShape2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CapsuleShape2DMethodTable = CapsuleShape2DMethodTable { class_constructor : None , get_height : 0 as * mut sys :: godot_method_bind , get_radius : 0 as * mut sys :: godot_method_bind , set_height : 0 as * mut sys :: godot_method_bind , set_radius : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CapsuleShape2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CapsuleShape2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_height = (gd_api . godot_method_bind_get_method) (class_name , "get_height\0" . as_ptr () as * const c_char) ; table . get_radius = (gd_api . godot_method_bind_get_method) (class_name , "get_radius\0" . as_ptr () as * const c_char) ; table . set_height = (gd_api . godot_method_bind_get_method) (class_name , "set_height\0" . as_ptr () as * const c_char) ; table . set_radius = (gd_api . godot_method_bind_get_method) (class_name , "set_radius\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:34:8276
[INFO] [stdout]    |
[INFO] [stdout] 34 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 # [doc = "`core class SliderJoint` inherits `Joint` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_sliderjoint.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`SliderJoint` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<SliderJoint>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nSliderJoint inherits methods from:\n - [Joint](struct.Joint.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SliderJoint { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Param (pub i64) ; impl Param { pub const LINEAR_LIMIT_UPPER : Param = Param (0i64) ; pub const LINEAR_LIMIT_LOWER : Param = Param (1i64) ; pub const LINEAR_LIMIT_SOFTNESS : Param = Param (2i64) ; pub const LINEAR_LIMIT_RESTITUTION : Param = Param (3i64) ; pub const LINEAR_LIMIT_DAMPING : Param = Param (4i64) ; pub const LINEAR_MOTION_SOFTNESS : Param = Param (5i64) ; pub const LINEAR_MOTION_RESTITUTION : Param = Param (6i64) ; pub const LINEAR_MOTION_DAMPING : Param = Param (7i64) ; pub const LINEAR_ORTHOGONAL_SOFTNESS : Param = Param (8i64) ; pub const LINEAR_ORTHOGONAL_RESTITUTION : Param = Param (9i64) ; pub const LINEAR_ORTHOGONAL_DAMPING : Param = Param (10i64) ; pub const ANGULAR_LIMIT_UPPER : Param = Param (11i64) ; pub const ANGULAR_LIMIT_LOWER : Param = Param (12i64) ; pub const ANGULAR_LIMIT_SOFTNESS : Param = Param (13i64) ; pub const ANGULAR_LIMIT_RESTITUTION : Param = Param (14i64) ; pub const ANGULAR_LIMIT_DAMPING : Param = Param (15i64) ; pub const ANGULAR_MOTION_SOFTNESS : Param = Param (16i64) ; pub const ANGULAR_MOTION_RESTITUTION : Param = Param (17i64) ; pub const ANGULAR_MOTION_DAMPING : Param = Param (18i64) ; pub const ANGULAR_ORTHOGONAL_SOFTNESS : Param = Param (19i64) ; pub const ANGULAR_ORTHOGONAL_RESTITUTION : Param = Param (20i64) ; pub const ANGULAR_ORTHOGONAL_DAMPING : Param = Param (21i64) ; pub const MAX : Param = Param (22i64) ; } impl From < i64 > for Param { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Param > for i64 { # [inline] fn from (v : Param) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl SliderJoint { pub const PARAM_ANGULAR_LIMIT_DAMPING : i64 = 15i64 ; pub const PARAM_ANGULAR_LIMIT_LOWER : i64 = 12i64 ; pub const PARAM_ANGULAR_LIMIT_RESTITUTION : i64 = 14i64 ; pub const PARAM_ANGULAR_LIMIT_SOFTNESS : i64 = 13i64 ; pub const PARAM_ANGULAR_LIMIT_UPPER : i64 = 11i64 ; pub const PARAM_ANGULAR_MOTION_DAMPING : i64 = 18i64 ; pub const PARAM_ANGULAR_MOTION_RESTITUTION : i64 = 17i64 ; pub const PARAM_ANGULAR_MOTION_SOFTNESS : i64 = 16i64 ; pub const PARAM_ANGULAR_ORTHOGONAL_DAMPING : i64 = 21i64 ; pub const PARAM_ANGULAR_ORTHOGONAL_RESTITUTION : i64 = 20i64 ; pub const PARAM_ANGULAR_ORTHOGONAL_SOFTNESS : i64 = 19i64 ; pub const PARAM_LINEAR_LIMIT_DAMPING : i64 = 4i64 ; pub const PARAM_LINEAR_LIMIT_LOWER : i64 = 1i64 ; pub const PARAM_LINEAR_LIMIT_RESTITUTION : i64 = 3i64 ; pub const PARAM_LINEAR_LIMIT_SOFTNESS : i64 = 2i64 ; pub const PARAM_LINEAR_LIMIT_UPPER : i64 = 0i64 ; pub const PARAM_LINEAR_MOTION_DAMPING : i64 = 7i64 ; pub const PARAM_LINEAR_MOTION_RESTITUTION : i64 = 6i64 ; pub const PARAM_LINEAR_MOTION_SOFTNESS : i64 = 5i64 ; pub const PARAM_LINEAR_ORTHOGONAL_DAMPING : i64 = 10i64 ; pub const PARAM_LINEAR_ORTHOGONAL_RESTITUTION : i64 = 9i64 ; pub const PARAM_LINEAR_ORTHOGONAL_SOFTNESS : i64 = 8i64 ; pub const PARAM_MAX : i64 = 22i64 ; } impl SliderJoint { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SliderJointMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "A factor applied to the movement across axes orthogonal to the slider."] # [doc = ""] # [inline] pub fn param (& self , param : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderJointMethodTable :: get (get_api ()) . get_param ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , param) ; ret as _ } } # [doc = "A factor applied to the movement across axes orthogonal to the slider."] # [doc = ""] # [inline] pub fn set_param (& self , param : i64 , value : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SliderJointMethodTable :: get (get_api ()) . set_param ; let ret = crate :: icalls :: icallptr_void_i64_f64 (method_bind , self . this . sys () . as_ptr () , param , value) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SliderJoint { } unsafe impl GodotObject for SliderJoint { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "SliderJoint" } } impl QueueFree for SliderJoint { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for SliderJoint { type Target = crate :: generated :: joint :: Joint ; # [inline] fn deref (& self) -> & crate :: generated :: joint :: Joint { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SliderJoint { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: joint :: Joint { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: joint :: Joint > for SliderJoint { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for SliderJoint { } unsafe impl SubClass < crate :: generated :: node :: Node > for SliderJoint { } unsafe impl SubClass < crate :: generated :: object :: Object > for SliderJoint { } impl Instanciable for SliderJoint { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SliderJoint :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SliderJointMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_param : * mut sys :: godot_method_bind , pub set_param : * mut sys :: godot_method_bind } impl SliderJointMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SliderJointMethodTable = SliderJointMethodTable { class_constructor : None , get_param : 0 as * mut sys :: godot_method_bind , set_param : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SliderJointMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SliderJoint\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_param = (gd_api . godot_method_bind_get_method) (class_name , "get_param\0" . as_ptr () as * const c_char) ; table . set_param = (gd_api . godot_method_bind_get_method) (class_name , "set_param\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:40:6362
[INFO] [stdout]    |
[INFO] [stdout] 40 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 # [doc = "`core class FuncRef` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_funcref.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nFuncRef inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct FuncRef { this : RawObject < Self > , } impl FuncRef { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = FuncRefMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Calls the referenced function previously set by [method set_function] or [method @GDScript.funcref]."] # [doc = ""] # [inline] pub fn call_func (& self , varargs : & [Variant]) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . call_func ; let ret = crate :: icalls :: icallvarargs_ (method_bind , self . this . sys () . as_ptr () , varargs) ; ret } } # [doc = "Calls the referenced function previously set by [method set_function] or [method @GDScript.funcref]. Contrarily to [method call_func], this method does not support a variable number of arguments but expects all parameters to be passed via a single [Array]."] # [doc = ""] # [inline] pub fn call_funcv (& self , arg_array : VariantArray) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . call_funcv ; let ret = crate :: icalls :: icallptr_var_arr (method_bind , self . this . sys () . as_ptr () , arg_array) ; Variant :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn function (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . get_function ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns whether the object still exists and has the function assigned."] # [doc = ""] # [inline] pub fn is_valid (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . is_valid ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The name of the referenced function to call on the object, without parentheses or any parameters."] # [doc = ""] # [inline] pub fn set_function (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . set_function ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "The object containing the referenced function. This object must be of a type actually inheriting from [Object], not a built-in type such as [int], [Vector2] or [Dictionary]."] # [doc = ""] # [inline] pub fn set_instance (& self , instance : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = FuncRefMethodTable :: get (get_api ()) . set_instance ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , instance . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for FuncRef { } unsafe impl GodotObject for FuncRef { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "FuncRef" } } impl std :: ops :: Deref for FuncRef { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for FuncRef { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for FuncRef { } unsafe impl SubClass < crate :: generated :: object :: Object > for FuncRef { } impl Instanciable for FuncRef { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { FuncRef :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct FuncRefMethodTable { pub class_constructor : sys :: godot_class_constructor , pub call_func : * mut sys :: godot_method_bind , pub call_funcv : * mut sys :: godot_method_bind , pub get_function : * mut sys :: godot_method_bind , pub is_valid : * mut sys :: godot_method_bind , pub set_function : * mut sys :: godot_method_bind , pub set_instance : * mut sys :: godot_method_bind } impl FuncRefMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : FuncRefMethodTable = FuncRefMethodTable { class_constructor : None , call_func : 0 as * mut sys :: godot_method_bind , call_funcv : 0 as * mut sys :: godot_method_bind , get_function : 0 as * mut sys :: godot_method_bind , is_valid : 0 as * mut sys :: godot_method_bind , set_function : 0 as * mut sys :: godot_method_bind , set_instance : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { FuncRefMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "FuncRef\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . call_func = (gd_api . godot_method_bind_get_method) (class_name , "call_func\0" . as_ptr () as * const c_char) ; table . call_funcv = (gd_api . godot_method_bind_get_method) (class_name , "call_funcv\0" . as_ptr () as * const c_char) ; table . get_function = (gd_api . godot_method_bind_get_method) (class_name , "get_function\0" . as_ptr () as * const c_char) ; table . is_valid = (gd_api . godot_method_bind_get_method) (class_name , "is_valid\0" . as_ptr () as * const c_char) ; table . set_function = (gd_api . godot_method_bind_get_method) (class_name , "set_function\0" . as_ptr () as * const c_char) ; table . set_instance = (gd_api . godot_method_bind_get_method) (class_name , "set_instance\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:730:7107
[INFO] [stdout]     |
[INFO] [stdout] 730 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 730 |                 # [doc = "`core class PolygonPathFinder` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_polygonpathfinder.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPolygonPathFinder inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PolygonPathFinder { this : RawObject < Self > , } impl PolygonPathFinder { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PolygonPathFinderMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn find_path (& self , from : Vector2 , to : Vector2) -> Vector2Array { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . find_path ; let ret = crate :: icalls :: icallptr_vec2arr_vec2_vec2 (method_bind , self . this . sys () . as_ptr () , from , to) ; Vector2Array :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_bounds (& self) -> Rect2 { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . get_bounds ; let ret = crate :: icalls :: icallptr_rect2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_closest_point (& self , point : Vector2) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . get_closest_point ; let ret = crate :: icalls :: icallptr_vec2_vec2 (method_bind , self . this . sys () . as_ptr () , point) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_intersections (& self , from : Vector2 , to : Vector2) -> Vector2Array { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . get_intersections ; let ret = crate :: icalls :: icallptr_vec2arr_vec2_vec2 (method_bind , self . this . sys () . as_ptr () , from , to) ; Vector2Array :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_point_penalty (& self , idx : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . get_point_penalty ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_point_inside (& self , point : Vector2) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . is_point_inside ; let ret = crate :: icalls :: icallptr_bool_vec2 (method_bind , self . this . sys () . as_ptr () , point) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_point_penalty (& self , idx : i64 , penalty : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . set_point_penalty ; let ret = crate :: icalls :: icallptr_void_i64_f64 (method_bind , self . this . sys () . as_ptr () , idx , penalty) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn setup (& self , points : Vector2Array , connections : Int32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PolygonPathFinderMethodTable :: get (get_api ()) . setup ; let ret = crate :: icalls :: icallptr_void_vec2arr_i32arr (method_bind , self . this . sys () . as_ptr () , points , connections) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PolygonPathFinder { } unsafe impl GodotObject for PolygonPathFinder { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "PolygonPathFinder" } } impl std :: ops :: Deref for PolygonPathFinder { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PolygonPathFinder { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for PolygonPathFinder { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for PolygonPathFinder { } unsafe impl SubClass < crate :: generated :: object :: Object > for PolygonPathFinder { } impl Instanciable for PolygonPathFinder { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PolygonPathFinder :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PolygonPathFinderMethodTable { pub class_constructor : sys :: godot_class_constructor , pub find_path : * mut sys :: godot_method_bind , pub get_bounds : * mut sys :: godot_method_bind , pub get_closest_point : * mut sys :: godot_method_bind , pub get_intersections : * mut sys :: godot_method_bind , pub get_point_penalty : * mut sys :: godot_method_bind , pub is_point_inside : * mut sys :: godot_method_bind , pub set_point_penalty : * mut sys :: godot_method_bind , pub setup : * mut sys :: godot_method_bind } impl PolygonPathFinderMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PolygonPathFinderMethodTable = PolygonPathFinderMethodTable { class_constructor : None , find_path : 0 as * mut sys :: godot_method_bind , get_bounds : 0 as * mut sys :: godot_method_bind , get_closest_point : 0 as * mut sys :: godot_method_bind , get_intersections : 0 as * mut sys :: godot_method_bind , get_point_penalty : 0 as * mut sys :: godot_method_bind , is_point_inside : 0 as * mut sys :: godot_method_bind , set_point_penalty : 0 as * mut sys :: godot_method_bind , setup : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PolygonPathFinderMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PolygonPathFinder\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . find_path = (gd_api . godot_method_bind_get_method) (class_name , "find_path\0" . as_ptr () as * const c_char) ; table . get_bounds = (gd_api . godot_method_bind_get_method) (class_name , "get_bounds\0" . as_ptr () as * const c_char) ; table . get_closest_point = (gd_api . godot_method_bind_get_method) (class_name , "get_closest_point\0" . as_ptr () as * const c_char) ; table . get_intersections = (gd_api . godot_method_bind_get_method) (class_name , "get_intersections\0" . as_ptr () as * const c_char) ; table . get_point_penalty = (gd_api . godot_method_bind_get_method) (class_name , "get_point_penalty\0" . as_ptr () as * const c_char) ; table . is_point_inside = (gd_api . godot_method_bind_get_method) (class_name , "is_point_inside\0" . as_ptr () as * const c_char) ; table . set_point_penalty = (gd_api . godot_method_bind_get_method) (class_name , "set_point_penalty\0" . as_ptr () as * const c_char) ; table . setup = (gd_api . godot_method_bind_get_method) (class_name , "setup\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:46:4537
[INFO] [stdout]    |
[INFO] [stdout] 46 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 # [doc = "`core class WebSocketMultiplayerPeer` inherits `NetworkedMultiplayerPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_websocketmultiplayerpeer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebSocketMultiplayerPeer inherits methods from:\n - [NetworkedMultiplayerPeer](struct.NetworkedMultiplayerPeer.html)\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebSocketMultiplayerPeer { this : RawObject < Self > , } impl WebSocketMultiplayerPeer { # [doc = ""] # [doc = ""] # [inline] pub fn get_peer (& self , peer_id : i64) -> Option < Ref < crate :: generated :: web_socket_peer :: WebSocketPeer , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketMultiplayerPeerMethodTable :: get (get_api ()) . get_peer ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , peer_id) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: web_socket_peer :: WebSocketPeer , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_buffers (& self , input_buffer_size_kb : i64 , input_max_packets : i64 , output_buffer_size_kb : i64 , output_max_packets : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebSocketMultiplayerPeerMethodTable :: get (get_api ()) . set_buffers ; let ret = crate :: icalls :: icallptr_i64_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , input_buffer_size_kb , input_max_packets , output_buffer_size_kb , output_max_packets) ; GodotError :: result_from_sys (ret as _) } } } impl gdnative_core :: private :: godot_object :: Sealed for WebSocketMultiplayerPeer { } unsafe impl GodotObject for WebSocketMultiplayerPeer { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebSocketMultiplayerPeer" } } impl std :: ops :: Deref for WebSocketMultiplayerPeer { type Target = crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer ; # [inline] fn deref (& self) -> & crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebSocketMultiplayerPeer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: networked_multiplayer_peer :: NetworkedMultiplayerPeer > for WebSocketMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for WebSocketMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebSocketMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebSocketMultiplayerPeer { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebSocketMultiplayerPeerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_peer : * mut sys :: godot_method_bind , pub set_buffers : * mut sys :: godot_method_bind } impl WebSocketMultiplayerPeerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebSocketMultiplayerPeerMethodTable = WebSocketMultiplayerPeerMethodTable { class_constructor : None , get_peer : 0 as * mut sys :: godot_method_bind , set_buffers : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebSocketMultiplayerPeerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebSocketMultiplayerPeer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_peer = (gd_api . godot_method_bind_get_method) (class_name , "get_peer\0" . as_ptr () as * const c_char) ; table . set_buffers = (gd_api . godot_method_bind_get_method) (class_name , "set_buffers\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:736:3699
[INFO] [stdout]     |
[INFO] [stdout] 736 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 736 |                 # [doc = "`core class JNISingleton` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_jnisingleton.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`JNISingleton` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<JNISingleton>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nJNISingleton inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct JNISingleton { this : RawObject < Self > , } impl JNISingleton { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = JNISingletonMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for JNISingleton { } unsafe impl GodotObject for JNISingleton { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "JNISingleton" } } impl std :: ops :: Deref for JNISingleton { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for JNISingleton { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for JNISingleton { } impl Instanciable for JNISingleton { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { JNISingleton :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct JNISingletonMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl JNISingletonMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : JNISingletonMethodTable = JNISingletonMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { JNISingletonMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "JNISingleton\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:742:8609
[INFO] [stdout]     |
[INFO] [stdout] 742 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 742 |                 # [doc = "`core class CollisionPolygon` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_collisionpolygon.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`CollisionPolygon` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<CollisionPolygon>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nCollisionPolygon inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CollisionPolygon { this : RawObject < Self > , } impl CollisionPolygon { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CollisionPolygonMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Length that the resulting collision extends in either direction perpendicular to its polygon."] # [doc = ""] # [inline] pub fn depth (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . get_depth ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn margin (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . get_margin ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Array of vertices which define the polygon.\n**Note:** The returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the `polygon` member."] # [doc = ""] # [inline] pub fn polygon (& self) -> Vector2Array { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . get_polygon ; let ret = crate :: icalls :: icallptr_vec2arr (method_bind , self . this . sys () . as_ptr ()) ; Vector2Array :: from_sys (ret) } } # [doc = "If `true`, no collision will be produced."] # [doc = ""] # [inline] pub fn is_disabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . is_disabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Length that the resulting collision extends in either direction perpendicular to its polygon."] # [doc = ""] # [inline] pub fn set_depth (& self , depth : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . set_depth ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , depth) ; } } # [doc = "If `true`, no collision will be produced."] # [doc = ""] # [inline] pub fn set_disabled (& self , disabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . set_disabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , disabled) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_margin (& self , margin : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . set_margin ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , margin) ; } } # [doc = "Array of vertices which define the polygon.\n**Note:** The returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the `polygon` member."] # [doc = ""] # [inline] pub fn set_polygon (& self , polygon : Vector2Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CollisionPolygonMethodTable :: get (get_api ()) . set_polygon ; let ret = crate :: icalls :: icallptr_void_vec2arr (method_bind , self . this . sys () . as_ptr () , polygon) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CollisionPolygon { } unsafe impl GodotObject for CollisionPolygon { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "CollisionPolygon" } } impl QueueFree for CollisionPolygon { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for CollisionPolygon { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CollisionPolygon { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for CollisionPolygon { } unsafe impl SubClass < crate :: generated :: node :: Node > for CollisionPolygon { } unsafe impl SubClass < crate :: generated :: object :: Object > for CollisionPolygon { } impl Instanciable for CollisionPolygon { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CollisionPolygon :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CollisionPolygonMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_depth : * mut sys :: godot_method_bind , pub get_margin : * mut sys :: godot_method_bind , pub get_polygon : * mut sys :: godot_method_bind , pub is_disabled : * mut sys :: godot_method_bind , pub set_depth : * mut sys :: godot_method_bind , pub set_disabled : * mut sys :: godot_method_bind , pub set_margin : * mut sys :: godot_method_bind , pub set_polygon : * mut sys :: godot_method_bind } impl CollisionPolygonMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CollisionPolygonMethodTable = CollisionPolygonMethodTable { class_constructor : None , get_depth : 0 as * mut sys :: godot_method_bind , get_margin : 0 as * mut sys :: godot_method_bind , get_polygon : 0 as * mut sys :: godot_method_bind , is_disabled : 0 as * mut sys :: godot_method_bind , set_depth : 0 as * mut sys :: godot_method_bind , set_disabled : 0 as * mut sys :: godot_method_bind , set_margin : 0 as * mut sys :: godot_method_bind , set_polygon : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CollisionPolygonMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CollisionPolygon\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_depth = (gd_api . godot_method_bind_get_method) (class_name , "get_depth\0" . as_ptr () as * const c_char) ; table . get_margin = (gd_api . godot_method_bind_get_method) (class_name , "get_margin\0" . as_ptr () as * const c_char) ; table . get_polygon = (gd_api . godot_method_bind_get_method) (class_name , "get_polygon\0" . as_ptr () as * const c_char) ; table . is_disabled = (gd_api . godot_method_bind_get_method) (class_name , "is_disabled\0" . as_ptr () as * const c_char) ; table . set_depth = (gd_api . godot_method_bind_get_method) (class_name , "set_depth\0" . as_ptr () as * const c_char) ; table . set_disabled = (gd_api . godot_method_bind_get_method) (class_name , "set_disabled\0" . as_ptr () as * const c_char) ; table . set_margin = (gd_api . godot_method_bind_get_method) (class_name , "set_margin\0" . as_ptr () as * const c_char) ; table . set_polygon = (gd_api . godot_method_bind_get_method) (class_name , "set_polygon\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:748:5629
[INFO] [stdout]     |
[INFO] [stdout] 748 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 748 |                 # [doc = "`core class SpatialVelocityTracker` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_spatialvelocitytracker.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nSpatialVelocityTracker inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SpatialVelocityTracker { this : RawObject < Self > , } impl SpatialVelocityTracker { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SpatialVelocityTrackerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_tracked_linear_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = SpatialVelocityTrackerMethodTable :: get (get_api ()) . get_tracked_linear_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_tracking_physics_step (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SpatialVelocityTrackerMethodTable :: get (get_api ()) . is_tracking_physics_step ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn reset (& self , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpatialVelocityTrackerMethodTable :: get (get_api ()) . reset ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , position) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_track_physics_step (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpatialVelocityTrackerMethodTable :: get (get_api ()) . set_track_physics_step ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn update_position (& self , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpatialVelocityTrackerMethodTable :: get (get_api ()) . update_position ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , position) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SpatialVelocityTracker { } unsafe impl GodotObject for SpatialVelocityTracker { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "SpatialVelocityTracker" } } impl std :: ops :: Deref for SpatialVelocityTracker { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SpatialVelocityTracker { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for SpatialVelocityTracker { } unsafe impl SubClass < crate :: generated :: object :: Object > for SpatialVelocityTracker { } impl Instanciable for SpatialVelocityTracker { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SpatialVelocityTracker :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SpatialVelocityTrackerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_tracked_linear_velocity : * mut sys :: godot_method_bind , pub is_tracking_physics_step : * mut sys :: godot_method_bind , pub reset : * mut sys :: godot_method_bind , pub set_track_physics_step : * mut sys :: godot_method_bind , pub update_position : * mut sys :: godot_method_bind } impl SpatialVelocityTrackerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SpatialVelocityTrackerMethodTable = SpatialVelocityTrackerMethodTable { class_constructor : None , get_tracked_linear_velocity : 0 as * mut sys :: godot_method_bind , is_tracking_physics_step : 0 as * mut sys :: godot_method_bind , reset : 0 as * mut sys :: godot_method_bind , set_track_physics_step : 0 as * mut sys :: godot_method_bind , update_position : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SpatialVelocityTrackerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SpatialVelocityTracker\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_tracked_linear_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_tracked_linear_velocity\0" . as_ptr () as * const c_char) ; table . is_tracking_physics_step = (gd_api . godot_method_bind_get_method) (class_name , "is_tracking_physics_step\0" . as_ptr () as * const c_char) ; table . reset = (gd_api . godot_method_bind_get_method) (class_name , "reset\0" . as_ptr () as * const c_char) ; table . set_track_physics_step = (gd_api . godot_method_bind_get_method) (class_name , "set_track_physics_step\0" . as_ptr () as * const c_char) ; table . update_position = (gd_api . godot_method_bind_get_method) (class_name , "update_position\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:754:11805
[INFO] [stdout]     |
[INFO] [stdout] 754 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 754 |                 # [doc = "`core class CSGShape` inherits `GeometryInstance` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_csgshape.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nCSGShape inherits methods from:\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CSGShape { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Operation (pub i64) ; impl Operation { pub const UNION : Operation = Operation (0i64) ; pub const INTERSECTION : Operation = Operation (1i64) ; pub const SUBTRACTION : Operation = Operation (2i64) ; } impl From < i64 > for Operation { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Operation > for i64 { # [inline] fn from (v : Operation) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl CSGShape { pub const OPERATION_INTERSECTION : i64 = 1i64 ; pub const OPERATION_SUBTRACTION : i64 = 2i64 ; pub const OPERATION_UNION : i64 = 0i64 ; } impl CSGShape { # [doc = ""] # [doc = ""] # [inline] pub fn collision_layer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . get_collision_layer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_collision_layer_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . get_collision_layer_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn collision_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . get_collision_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_collision_mask_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . get_collision_mask_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_meshes (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . get_meshes ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = ""] # [doc = ""] # [inline] pub fn operation (& self) -> crate :: generated :: csg_shape :: Operation { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . get_operation ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: csg_shape :: Operation (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn snap (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . get_snap ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_calculating_tangents (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . is_calculating_tangents ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_root_shape (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . is_root_shape ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_using_collision (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . is_using_collision ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_calculate_tangents (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_calculate_tangents ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_collision_layer (& self , layer : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_collision_layer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , layer) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_collision_layer_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_collision_layer_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_collision_mask (& self , mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_collision_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mask) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_collision_mask_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_collision_mask_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_operation (& self , operation : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_operation ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , operation) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_snap (& self , snap : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_snap ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , snap) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_use_collision (& self , operation : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGShapeMethodTable :: get (get_api ()) . set_use_collision ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , operation) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CSGShape { } unsafe impl GodotObject for CSGShape { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "CSGShape" } } impl QueueFree for CSGShape { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for CSGShape { type Target = crate :: generated :: geometry_instance :: GeometryInstance ; # [inline] fn deref (& self) -> & crate :: generated :: geometry_instance :: GeometryInstance { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CSGShape { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: geometry_instance :: GeometryInstance { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for CSGShape { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for CSGShape { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for CSGShape { } unsafe impl SubClass < crate :: generated :: node :: Node > for CSGShape { } unsafe impl SubClass < crate :: generated :: object :: Object > for CSGShape { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CSGShapeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_collision_layer : * mut sys :: godot_method_bind , pub get_collision_layer_bit : * mut sys :: godot_method_bind , pub get_collision_mask : * mut sys :: godot_method_bind , pub get_collision_mask_bit : * mut sys :: godot_method_bind , pub get_meshes : * mut sys :: godot_method_bind , pub get_operation : * mut sys :: godot_method_bind , pub get_snap : * mut sys :: godot_method_bind , pub is_calculating_tangents : * mut sys :: godot_method_bind , pub is_root_shape : * mut sys :: godot_method_bind , pub is_using_collision : * mut sys :: godot_method_bind , pub set_calculate_tangents : * mut sys :: godot_method_bind , pub set_collision_layer : * mut sys :: godot_method_bind , pub set_collision_layer_bit : * mut sys :: godot_method_bind , pub set_collision_mask : * mut sys :: godot_method_bind , pub set_collision_mask_bit : * mut sys :: godot_method_bind , pub set_operation : * mut sys :: godot_method_bind , pub set_snap : * mut sys :: godot_method_bind , pub set_use_collision : * mut sys :: godot_method_bind } impl CSGShapeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CSGShapeMethodTable = CSGShapeMethodTable { class_constructor : None , get_collision_layer : 0 as * mut sys :: godot_method_bind , get_collision_layer_bit : 0 as * mut sys :: godot_method_bind , get_collision_mask : 0 as * mut sys :: godot_method_bind , get_collision_mask_bit : 0 as * mut sys :: godot_method_bind , get_meshes : 0 as * mut sys :: godot_method_bind , get_operation : 0 as * mut sys :: godot_method_bind , get_snap : 0 as * mut sys :: godot_method_bind , is_calculating_tangents : 0 as * mut sys :: godot_method_bind , is_root_shape : 0 as * mut sys :: godot_method_bind , is_using_collision : 0 as * mut sys :: godot_method_bind , set_calculate_tangents : 0 as * mut sys :: godot_method_bind , set_collision_layer : 0 as * mut sys :: godot_method_bind , set_collision_layer_bit : 0 as * mut sys :: godot_method_bind , set_collision_mask : 0 as * mut sys :: godot_method_bind , set_collision_mask_bit : 0 as * mut sys :: godot_method_bind , set_operation : 0 as * mut sys :: godot_method_bind , set_snap : 0 as * mut sys :: godot_method_bind , set_use_collision : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CSGShapeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CSGShape\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer\0" . as_ptr () as * const c_char) ; table . get_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . get_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask\0" . as_ptr () as * const c_char) ; table . get_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . get_meshes = (gd_api . godot_method_bind_get_method) (class_name , "get_meshes\0" . as_ptr () as * const c_char) ; table . get_operation = (gd_api . godot_method_bind_get_method) (class_name , "get_operation\0" . as_ptr () as * const c_char) ; table . get_snap = (gd_api . godot_method_bind_get_method) (class_name , "get_snap\0" . as_ptr () as * const c_char) ; table . is_calculating_tangents = (gd_api . godot_method_bind_get_method) (class_name , "is_calculating_tangents\0" . as_ptr () as * const c_char) ; table . is_root_shape = (gd_api . godot_method_bind_get_method) (class_name , "is_root_shape\0" . as_ptr () as * const c_char) ; table . is_using_collision = (gd_api . godot_method_bind_get_method) (class_name , "is_using_collision\0" . as_ptr () as * const c_char) ; table . set_calculate_tangents = (gd_api . godot_method_bind_get_method) (class_name , "set_calculate_tangents\0" . as_ptr () as * const c_char) ; table . set_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer\0" . as_ptr () as * const c_char) ; table . set_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . set_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask\0" . as_ptr () as * const c_char) ; table . set_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . set_operation = (gd_api . godot_method_bind_get_method) (class_name , "set_operation\0" . as_ptr () as * const c_char) ; table . set_snap = (gd_api . godot_method_bind_get_method) (class_name , "set_snap\0" . as_ptr () as * const c_char) ; table . set_use_collision = (gd_api . godot_method_bind_get_method) (class_name , "set_use_collision\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:52:23650
[INFO] [stdout]    |
[INFO] [stdout] 52 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 # [doc = "`core class Particles2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_particles2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Particles2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Particles2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nParticles2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Particles2D { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct DrawOrder (pub i64) ; impl DrawOrder { pub const INDEX : DrawOrder = DrawOrder (0i64) ; pub const LIFETIME : DrawOrder = DrawOrder (1i64) ; } impl From < i64 > for DrawOrder { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < DrawOrder > for i64 { # [inline] fn from (v : DrawOrder) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Particles2D { pub const DRAW_ORDER_INDEX : i64 = 0i64 ; pub const DRAW_ORDER_LIFETIME : i64 = 1i64 ; } impl Particles2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Particles2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns a rectangle containing the positions of all existing particles."] # [doc = ""] # [inline] pub fn capture_rect (& self) -> Rect2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . capture_rect ; let ret = crate :: icalls :: icallptr_rect2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Number of particles emitted in one emission cycle."] # [doc = ""] # [inline] pub fn amount (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_amount ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle draw order. Uses [enum DrawOrder] values."] # [doc = ""] # [inline] pub fn draw_order (& self) -> crate :: generated :: particles_2d :: DrawOrder { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_draw_order ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: particles_2d :: DrawOrder (ret) } } # [doc = "How rapidly particles in an emission cycle are emitted. If greater than `0`, there will be a gap in emissions before the next cycle begins."] # [doc = ""] # [inline] pub fn explosiveness_ratio (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_explosiveness_ratio ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself."] # [doc = ""] # [inline] pub fn fixed_fps (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_fixed_fps ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, results in fractional delta calculation which has a smoother particles display effect."] # [doc = ""] # [inline] pub fn fractional_delta (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_fractional_delta ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Amount of time each particle will exist."] # [doc = ""] # [inline] pub fn lifetime (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_lifetime ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Normal map to be used for the [member texture] property.\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn normal_map (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_normal_map ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "If `true`, only one emission cycle occurs. If set `true` during a cycle, emission will stop at the cycle's end."] # [doc = ""] # [inline] pub fn one_shot (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_one_shot ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle system starts as if it had already run for this many seconds."] # [doc = ""] # [inline] pub fn pre_process_time (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_pre_process_time ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial]."] # [doc = ""] # [inline] pub fn process_material (& self) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_process_material ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Emission lifetime randomness ratio."] # [doc = ""] # [inline] pub fn randomness_ratio (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_randomness_ratio ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle system's running speed scaling ratio. A value of `0` can be used to pause the particles."] # [doc = ""] # [inline] pub fn speed_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_speed_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Particle texture. If `null`, particles will be squares."] # [doc = ""] # [inline] pub fn texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "If `true`, particles use the parent node's coordinate space. If `false`, they use global coordinates."] # [doc = ""] # [inline] pub fn use_local_coordinates (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_use_local_coordinates ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Editor visibility helper."] # [doc = ""] # [inline] pub fn visibility_rect (& self) -> Rect2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . get_visibility_rect ; let ret = crate :: icalls :: icallptr_rect2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If `true`, particles are being emitted."] # [doc = ""] # [inline] pub fn is_emitting (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . is_emitting ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Restarts all the existing particles."] # [doc = ""] # [inline] pub fn restart (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . restart ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Number of particles emitted in one emission cycle."] # [doc = ""] # [inline] pub fn set_amount (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_amount ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "Particle draw order. Uses [enum DrawOrder] values."] # [doc = ""] # [inline] pub fn set_draw_order (& self , order : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_draw_order ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , order) ; } } # [doc = "If `true`, particles are being emitted."] # [doc = ""] # [inline] pub fn set_emitting (& self , emitting : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_emitting ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , emitting) ; } } # [doc = "How rapidly particles in an emission cycle are emitted. If greater than `0`, there will be a gap in emissions before the next cycle begins."] # [doc = ""] # [inline] pub fn set_explosiveness_ratio (& self , ratio : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_explosiveness_ratio ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , ratio) ; } } # [doc = "The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself."] # [doc = ""] # [inline] pub fn set_fixed_fps (& self , fps : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_fixed_fps ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , fps) ; } } # [doc = "If `true`, results in fractional delta calculation which has a smoother particles display effect."] # [doc = ""] # [inline] pub fn set_fractional_delta (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_fractional_delta ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Amount of time each particle will exist."] # [doc = ""] # [inline] pub fn set_lifetime (& self , secs : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_lifetime ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , secs) ; } } # [doc = "Normal map to be used for the [member texture] property.\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn set_normal_map (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_normal_map ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "If `true`, only one emission cycle occurs. If set `true` during a cycle, emission will stop at the cycle's end."] # [doc = ""] # [inline] pub fn set_one_shot (& self , secs : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_one_shot ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , secs) ; } } # [doc = "Particle system starts as if it had already run for this many seconds."] # [doc = ""] # [inline] pub fn set_pre_process_time (& self , secs : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_pre_process_time ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , secs) ; } } # [doc = "[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial]."] # [doc = ""] # [inline] pub fn set_process_material (& self , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_process_material ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , material . as_arg_ptr ()) ; } } # [doc = "Emission lifetime randomness ratio."] # [doc = ""] # [inline] pub fn set_randomness_ratio (& self , ratio : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_randomness_ratio ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , ratio) ; } } # [doc = "Particle system's running speed scaling ratio. A value of `0` can be used to pause the particles."] # [doc = ""] # [inline] pub fn set_speed_scale (& self , scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_speed_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , scale) ; } } # [doc = "Particle texture. If `null`, particles will be squares."] # [doc = ""] # [inline] pub fn set_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "If `true`, particles use the parent node's coordinate space. If `false`, they use global coordinates."] # [doc = ""] # [inline] pub fn set_use_local_coordinates (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_use_local_coordinates ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Editor visibility helper."] # [doc = ""] # [inline] pub fn set_visibility_rect (& self , visibility_rect : Rect2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Particles2DMethodTable :: get (get_api ()) . set_visibility_rect ; let ret = crate :: icalls :: icallptr_void_rect2 (method_bind , self . this . sys () . as_ptr () , visibility_rect) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Particles2D { } unsafe impl GodotObject for Particles2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Particles2D" } } impl QueueFree for Particles2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Particles2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Particles2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for Particles2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Particles2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for Particles2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for Particles2D { } impl Instanciable for Particles2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Particles2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Particles2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub capture_rect : * mut sys :: godot_method_bind , pub get_amount : * mut sys :: godot_method_bind , pub get_draw_order : * mut sys :: godot_method_bind , pub get_explosiveness_ratio : * mut sys :: godot_method_bind , pub get_fixed_fps : * mut sys :: godot_method_bind , pub get_fractional_delta : * mut sys :: godot_method_bind , pub get_lifetime : * mut sys :: godot_method_bind , pub get_normal_map : * mut sys :: godot_method_bind , pub get_one_shot : * mut sys :: godot_method_bind , pub get_pre_process_time : * mut sys :: godot_method_bind , pub get_process_material : * mut sys :: godot_method_bind , pub get_randomness_ratio : * mut sys :: godot_method_bind , pub get_speed_scale : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub get_use_local_coordinates : * mut sys :: godot_method_bind , pub get_visibility_rect : * mut sys :: godot_method_bind , pub is_emitting : * mut sys :: godot_method_bind , pub restart : * mut sys :: godot_method_bind , pub set_amount : * mut sys :: godot_method_bind , pub set_draw_order : * mut sys :: godot_method_bind , pub set_emitting : * mut sys :: godot_method_bind , pub set_explosiveness_ratio : * mut sys :: godot_method_bind , pub set_fixed_fps : * mut sys :: godot_method_bind , pub set_fractional_delta : * mut sys :: godot_method_bind , pub set_lifetime : * mut sys :: godot_method_bind , pub set_normal_map : * mut sys :: godot_method_bind , pub set_one_shot : * mut sys :: godot_method_bind , pub set_pre_process_time : * mut sys :: godot_method_bind , pub set_process_material : * mut sys :: godot_method_bind , pub set_randomness_ratio : * mut sys :: godot_method_bind , pub set_speed_scale : * mut sys :: godot_method_bind , pub set_texture : * mut sys :: godot_method_bind , pub set_use_local_coordinates : * mut sys :: godot_method_bind , pub set_visibility_rect : * mut sys :: godot_method_bind } impl Particles2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Particles2DMethodTable = Particles2DMethodTable { class_constructor : None , capture_rect : 0 as * mut sys :: godot_method_bind , get_amount : 0 as * mut sys :: godot_method_bind , get_draw_order : 0 as * mut sys :: godot_method_bind , get_explosiveness_ratio : 0 as * mut sys :: godot_method_bind , get_fixed_fps : 0 as * mut sys :: godot_method_bind , get_fractional_delta : 0 as * mut sys :: godot_method_bind , get_lifetime : 0 as * mut sys :: godot_method_bind , get_normal_map : 0 as * mut sys :: godot_method_bind , get_one_shot : 0 as * mut sys :: godot_method_bind , get_pre_process_time : 0 as * mut sys :: godot_method_bind , get_process_material : 0 as * mut sys :: godot_method_bind , get_randomness_ratio : 0 as * mut sys :: godot_method_bind , get_speed_scale : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , get_use_local_coordinates : 0 as * mut sys :: godot_method_bind , get_visibility_rect : 0 as * mut sys :: godot_method_bind , is_emitting : 0 as * mut sys :: godot_method_bind , restart : 0 as * mut sys :: godot_method_bind , set_amount : 0 as * mut sys :: godot_method_bind , set_draw_order : 0 as * mut sys :: godot_method_bind , set_emitting : 0 as * mut sys :: godot_method_bind , set_explosiveness_ratio : 0 as * mut sys :: godot_method_bind , set_fixed_fps : 0 as * mut sys :: godot_method_bind , set_fractional_delta : 0 as * mut sys :: godot_method_bind , set_lifetime : 0 as * mut sys :: godot_method_bind , set_normal_map : 0 as * mut sys :: godot_method_bind , set_one_shot : 0 as * mut sys :: godot_method_bind , set_pre_process_time : 0 as * mut sys :: godot_method_bind , set_process_material : 0 as * mut sys :: godot_method_bind , set_randomness_ratio : 0 as * mut sys :: godot_method_bind , set_speed_scale : 0 as * mut sys :: godot_method_bind , set_texture : 0 as * mut sys :: godot_method_bind , set_use_local_coordinates : 0 as * mut sys :: godot_method_bind , set_visibility_rect : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Particles2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Particles2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . capture_rect = (gd_api . godot_method_bind_get_method) (class_name , "capture_rect\0" . as_ptr () as * const c_char) ; table . get_amount = (gd_api . godot_method_bind_get_method) (class_name , "get_amount\0" . as_ptr () as * const c_char) ; table . get_draw_order = (gd_api . godot_method_bind_get_method) (class_name , "get_draw_order\0" . as_ptr () as * const c_char) ; table . get_explosiveness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "get_explosiveness_ratio\0" . as_ptr () as * const c_char) ; table . get_fixed_fps = (gd_api . godot_method_bind_get_method) (class_name , "get_fixed_fps\0" . as_ptr () as * const c_char) ; table . get_fractional_delta = (gd_api . godot_method_bind_get_method) (class_name , "get_fractional_delta\0" . as_ptr () as * const c_char) ; table . get_lifetime = (gd_api . godot_method_bind_get_method) (class_name , "get_lifetime\0" . as_ptr () as * const c_char) ; table . get_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "get_normal_map\0" . as_ptr () as * const c_char) ; table . get_one_shot = (gd_api . godot_method_bind_get_method) (class_name , "get_one_shot\0" . as_ptr () as * const c_char) ; table . get_pre_process_time = (gd_api . godot_method_bind_get_method) (class_name , "get_pre_process_time\0" . as_ptr () as * const c_char) ; table . get_process_material = (gd_api . godot_method_bind_get_method) (class_name , "get_process_material\0" . as_ptr () as * const c_char) ; table . get_randomness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "get_randomness_ratio\0" . as_ptr () as * const c_char) ; table . get_speed_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_speed_scale\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . get_use_local_coordinates = (gd_api . godot_method_bind_get_method) (class_name , "get_use_local_coordinates\0" . as_ptr () as * const c_char) ; table . get_visibility_rect = (gd_api . godot_method_bind_get_method) (class_name , "get_visibility_rect\0" . as_ptr () as * const c_char) ; table . is_emitting = (gd_api . godot_method_bind_get_method) (class_name , "is_emitting\0" . as_ptr () as * const c_char) ; table . restart = (gd_api . godot_method_bind_get_method) (class_name , "restart\0" . as_ptr () as * const c_char) ; table . set_amount = (gd_api . godot_method_bind_get_method) (class_name , "set_amount\0" . as_ptr () as * const c_char) ; table . set_draw_order = (gd_api . godot_method_bind_get_method) (class_name , "set_draw_order\0" . as_ptr () as * const c_char) ; table . set_emitting = (gd_api . godot_method_bind_get_method) (class_name , "set_emitting\0" . as_ptr () as * const c_char) ; table . set_explosiveness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "set_explosiveness_ratio\0" . as_ptr () as * const c_char) ; table . set_fixed_fps = (gd_api . godot_method_bind_get_method) (class_name , "set_fixed_fps\0" . as_ptr () as * const c_char) ; table . set_fractional_delta = (gd_api . godot_method_bind_get_method) (class_name , "set_fractional_delta\0" . as_ptr () as * const c_char) ; table . set_lifetime = (gd_api . godot_method_bind_get_method) (class_name , "set_lifetime\0" . as_ptr () as * const c_char) ; table . set_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "set_normal_map\0" . as_ptr () as * const c_char) ; table . set_one_shot = (gd_api . godot_method_bind_get_method) (class_name , "set_one_shot\0" . as_ptr () as * const c_char) ; table . set_pre_process_time = (gd_api . godot_method_bind_get_method) (class_name , "set_pre_process_time\0" . as_ptr () as * const c_char) ; table . set_process_material = (gd_api . godot_method_bind_get_method) (class_name , "set_process_material\0" . as_ptr () as * const c_char) ; table . set_randomness_ratio = (gd_api . godot_method_bind_get_method) (class_name , "set_randomness_ratio\0" . as_ptr () as * const c_char) ; table . set_speed_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_speed_scale\0" . as_ptr () as * const c_char) ; table . set_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_texture\0" . as_ptr () as * const c_char) ; table . set_use_local_coordinates = (gd_api . godot_method_bind_get_method) (class_name , "set_use_local_coordinates\0" . as_ptr () as * const c_char) ; table . set_visibility_rect = (gd_api . godot_method_bind_get_method) (class_name , "set_visibility_rect\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:760:3803
[INFO] [stdout]     |
[INFO] [stdout] 760 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 760 |                 # [doc = "`tools class EditorScenePostImport` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorscenepostimport.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nEditorScenePostImport inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorScenePostImport { this : RawObject < Self > , } impl EditorScenePostImport { # [doc = "Returns the source file path which got imported (e.g. `res://scene.dae`)."] # [doc = ""] # [inline] pub fn get_source_file (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScenePostImportMethodTable :: get (get_api ()) . get_source_file ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the resource folder the imported scene file is located in."] # [doc = ""] # [inline] pub fn get_source_folder (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScenePostImportMethodTable :: get (get_api ()) . get_source_folder ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorScenePostImport { } unsafe impl GodotObject for EditorScenePostImport { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "EditorScenePostImport" } } impl std :: ops :: Deref for EditorScenePostImport { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorScenePostImport { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for EditorScenePostImport { } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorScenePostImport { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorScenePostImportMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_source_file : * mut sys :: godot_method_bind , pub get_source_folder : * mut sys :: godot_method_bind } impl EditorScenePostImportMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorScenePostImportMethodTable = EditorScenePostImportMethodTable { class_constructor : None , get_source_file : 0 as * mut sys :: godot_method_bind , get_source_folder : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorScenePostImportMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorScenePostImport\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_source_file = (gd_api . godot_method_bind_get_method) (class_name , "get_source_file\0" . as_ptr () as * const c_char) ; table . get_source_folder = (gd_api . godot_method_bind_get_method) (class_name , "get_source_folder\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:58:3927
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...odTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 # [doc = "`core class AudioEffectBandLimitFilter` inherits `AudioEffectFilter` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectbandlimitfilter.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectBandLimitFilter inherits methods from:\n - [AudioEffectFilter](struct.AudioEffectFilter.html)\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectBandLimitFilter { this : RawObject < Self > , } impl AudioEffectBandLimitFilter { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectBandLimitFilterMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectBandLimitFilter { } unsafe impl GodotObject for AudioEffectBandLimitFilter { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectBandLimitFilter" } } impl std :: ops :: Deref for AudioEffectBandLimitFilter { type Target = crate :: generated :: audio_effect_filter :: AudioEffectFilter ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect_filter :: AudioEffectFilter { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectBandLimitFilter { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect_filter :: AudioEffectFilter { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect_filter :: AudioEffectFilter > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectBandLimitFilter { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectBandLimitFilter { } impl Instanciable for AudioEffectBandLimitFilter { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectBandLimitFilter :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectBandLimitFilterMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AudioEffectBandLimitFilterMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectBandLimitFilterMethodTable = AudioEffectBandLimitFilterMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectBandLimitFilterMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectBandLimitFilter\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:64:5525
[INFO] [stdout]    |
[INFO] [stdout] 64 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 # [doc = "`core class WorldEnvironment` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_worldenvironment.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`WorldEnvironment` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<WorldEnvironment>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nWorldEnvironment inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WorldEnvironment { this : RawObject < Self > , } impl WorldEnvironment { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WorldEnvironmentMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [Environment] resource used by this [WorldEnvironment], defining the default properties."] # [doc = ""] # [inline] pub fn environment (& self) -> Option < Ref < crate :: generated :: environment :: Environment , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WorldEnvironmentMethodTable :: get (get_api ()) . get_environment ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: environment :: Environment , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Environment] resource used by this [WorldEnvironment], defining the default properties."] # [doc = ""] # [inline] pub fn set_environment (& self , env : impl AsArg < crate :: generated :: environment :: Environment >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WorldEnvironmentMethodTable :: get (get_api ()) . set_environment ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , env . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for WorldEnvironment { } unsafe impl GodotObject for WorldEnvironment { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "WorldEnvironment" } } impl QueueFree for WorldEnvironment { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for WorldEnvironment { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WorldEnvironment { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for WorldEnvironment { } unsafe impl SubClass < crate :: generated :: object :: Object > for WorldEnvironment { } impl Instanciable for WorldEnvironment { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WorldEnvironment :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WorldEnvironmentMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_environment : * mut sys :: godot_method_bind , pub set_environment : * mut sys :: godot_method_bind } impl WorldEnvironmentMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WorldEnvironmentMethodTable = WorldEnvironmentMethodTable { class_constructor : None , get_environment : 0 as * mut sys :: godot_method_bind , set_environment : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WorldEnvironmentMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WorldEnvironment\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_environment = (gd_api . godot_method_bind_get_method) (class_name , "get_environment\0" . as_ptr () as * const c_char) ; table . set_environment = (gd_api . godot_method_bind_get_method) (class_name , "set_environment\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:766:14005
[INFO] [stdout]     |
[INFO] [stdout] 766 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 766 |                 # [doc = "`core class CharFXTransform` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_charfxtransform.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nCharFXTransform inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CharFXTransform { this : RawObject < Self > , } impl CharFXTransform { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CharFXTransformMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The index of the current character (starting from 0). Setting this property won't affect drawing."] # [doc = ""] # [inline] pub fn absolute_index (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . get_absolute_index ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nThe Unicode codepoint the character will use. This only affects non-whitespace characters. [method @GDScript.ord] can be useful here. For example, the following will replace all characters with asterisks:\n```gdscript\n# `char_fx` is the CharFXTransform parameter from `_process_custom_fx()`.\n# See the RichTextEffect documentation for details.\nchar_fx.character = ord(\"*\")\n```"] # [doc = ""] # [inline] pub fn character (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . get_character ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The color the character will be drawn with."] # [doc = ""] # [inline] pub fn color (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . get_color ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The time elapsed since the [RichTextLabel] was added to the scene tree (in seconds). Time stops when the project is paused, unless the [RichTextLabel]'s [member Node.pause_mode] is set to [constant Node.PAUSE_MODE_PROCESS].\n**Note:** Time still passes while the [RichTextLabel] is hidden."] # [doc = ""] # [inline] pub fn elapsed_time (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . get_elapsed_time ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nContains the arguments passed in the opening BBCode tag. By default, arguments are strings; if their contents match a type such as [bool], [int] or [float], they will be converted automatically. Color codes in the form `#rrggbb` or `#rgb` will be converted to an opaque [Color]. String arguments may not contain spaces, even if they're quoted. If present, quotes will also be present in the final string.\nFor example, the opening BBCode tag `[example foo=hello bar=true baz=42 color=#ffffff]` will map to the following [Dictionary]:\n```gdscript\n{\"foo\": \"hello\", \"bar\": true, \"baz\": 42, \"color\": Color(1, 1, 1, 1)}\n```"] # [doc = ""] # [inline] pub fn environment (& self) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . get_environment ; let ret = crate :: icalls :: icallptr_dict (method_bind , self . this . sys () . as_ptr ()) ; Dictionary :: from_sys (ret) } } # [doc = "The position offset the character will be drawn with (in pixels)."] # [doc = ""] # [inline] pub fn offset (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . get_offset ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The index of the current character (starting from 0). Setting this property won't affect drawing."] # [doc = ""] # [inline] pub fn relative_index (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . get_relative_index ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the character will be drawn. If `false`, the character will be hidden. Characters around hidden characters will reflow to take the space of hidden characters. If this is not desired, set their [member color] to `Color(1, 1, 1, 0)` instead."] # [doc = ""] # [inline] pub fn is_visible (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . is_visible ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The index of the current character (starting from 0). Setting this property won't affect drawing."] # [doc = ""] # [inline] pub fn set_absolute_index (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_absolute_index ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nThe Unicode codepoint the character will use. This only affects non-whitespace characters. [method @GDScript.ord] can be useful here. For example, the following will replace all characters with asterisks:\n```gdscript\n# `char_fx` is the CharFXTransform parameter from `_process_custom_fx()`.\n# See the RichTextEffect documentation for details.\nchar_fx.character = ord(\"*\")\n```"] # [doc = ""] # [inline] pub fn set_character (& self , character : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_character ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , character) ; } } # [doc = "The color the character will be drawn with."] # [doc = ""] # [inline] pub fn set_color (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_color ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = "The time elapsed since the [RichTextLabel] was added to the scene tree (in seconds). Time stops when the project is paused, unless the [RichTextLabel]'s [member Node.pause_mode] is set to [constant Node.PAUSE_MODE_PROCESS].\n**Note:** Time still passes while the [RichTextLabel] is hidden."] # [doc = ""] # [inline] pub fn set_elapsed_time (& self , time : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_elapsed_time ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , time) ; } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nContains the arguments passed in the opening BBCode tag. By default, arguments are strings; if their contents match a type such as [bool], [int] or [float], they will be converted automatically. Color codes in the form `#rrggbb` or `#rgb` will be converted to an opaque [Color]. String arguments may not contain spaces, even if they're quoted. If present, quotes will also be present in the final string.\nFor example, the opening BBCode tag `[example foo=hello bar=true baz=42 color=#ffffff]` will map to the following [Dictionary]:\n```gdscript\n{\"foo\": \"hello\", \"bar\": true, \"baz\": 42, \"color\": Color(1, 1, 1, 1)}\n```"] # [doc = ""] # [inline] pub fn set_environment (& self , environment : Dictionary) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_environment ; let ret = crate :: icalls :: icallptr_void_dict (method_bind , self . this . sys () . as_ptr () , environment) ; } } # [doc = "The position offset the character will be drawn with (in pixels)."] # [doc = ""] # [inline] pub fn set_offset (& self , offset : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_offset ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "The index of the current character (starting from 0). Setting this property won't affect drawing."] # [doc = ""] # [inline] pub fn set_relative_index (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_relative_index ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "If `true`, the character will be drawn. If `false`, the character will be hidden. Characters around hidden characters will reflow to take the space of hidden characters. If this is not desired, set their [member color] to `Color(1, 1, 1, 0)` instead."] # [doc = ""] # [inline] pub fn set_visibility (& self , visibility : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CharFXTransformMethodTable :: get (get_api ()) . set_visibility ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , visibility) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CharFXTransform { } unsafe impl GodotObject for CharFXTransform { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "CharFXTransform" } } impl std :: ops :: Deref for CharFXTransform { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CharFXTransform { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for CharFXTransform { } unsafe impl SubClass < crate :: generated :: object :: Object > for CharFXTransform { } impl Instanciable for CharFXTransform { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CharFXTransform :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CharFXTransformMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_absolute_index : * mut sys :: godot_method_bind , pub get_character : * mut sys :: godot_method_bind , pub get_color : * mut sys :: godot_method_bind , pub get_elapsed_time : * mut sys :: godot_method_bind , pub get_environment : * mut sys :: godot_method_bind , pub get_offset : * mut sys :: godot_method_bind , pub get_relative_index : * mut sys :: godot_method_bind , pub is_visible : * mut sys :: godot_method_bind , pub set_absolute_index : * mut sys :: godot_method_bind , pub set_character : * mut sys :: godot_method_bind , pub set_color : * mut sys :: godot_method_bind , pub set_elapsed_time : * mut sys :: godot_method_bind , pub set_environment : * mut sys :: godot_method_bind , pub set_offset : * mut sys :: godot_method_bind , pub set_relative_index : * mut sys :: godot_method_bind , pub set_visibility : * mut sys :: godot_method_bind } impl CharFXTransformMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CharFXTransformMethodTable = CharFXTransformMethodTable { class_constructor : None , get_absolute_index : 0 as * mut sys :: godot_method_bind , get_character : 0 as * mut sys :: godot_method_bind , get_color : 0 as * mut sys :: godot_method_bind , get_elapsed_time : 0 as * mut sys :: godot_method_bind , get_environment : 0 as * mut sys :: godot_method_bind , get_offset : 0 as * mut sys :: godot_method_bind , get_relative_index : 0 as * mut sys :: godot_method_bind , is_visible : 0 as * mut sys :: godot_method_bind , set_absolute_index : 0 as * mut sys :: godot_method_bind , set_character : 0 as * mut sys :: godot_method_bind , set_color : 0 as * mut sys :: godot_method_bind , set_elapsed_time : 0 as * mut sys :: godot_method_bind , set_environment : 0 as * mut sys :: godot_method_bind , set_offset : 0 as * mut sys :: godot_method_bind , set_relative_index : 0 as * mut sys :: godot_method_bind , set_visibility : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CharFXTransformMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CharFXTransform\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_absolute_index = (gd_api . godot_method_bind_get_method) (class_name , "get_absolute_index\0" . as_ptr () as * const c_char) ; table . get_character = (gd_api . godot_method_bind_get_method) (class_name , "get_character\0" . as_ptr () as * const c_char) ; table . get_color = (gd_api . godot_method_bind_get_method) (class_name , "get_color\0" . as_ptr () as * const c_char) ; table . get_elapsed_time = (gd_api . godot_method_bind_get_method) (class_name , "get_elapsed_time\0" . as_ptr () as * const c_char) ; table . get_environment = (gd_api . godot_method_bind_get_method) (class_name , "get_environment\0" . as_ptr () as * const c_char) ; table . get_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_offset\0" . as_ptr () as * const c_char) ; table . get_relative_index = (gd_api . godot_method_bind_get_method) (class_name , "get_relative_index\0" . as_ptr () as * const c_char) ; table . is_visible = (gd_api . godot_method_bind_get_method) (class_name , "is_visible\0" . as_ptr () as * const c_char) ; table . set_absolute_index = (gd_api . godot_method_bind_get_method) (class_name , "set_absolute_index\0" . as_ptr () as * const c_char) ; table . set_character = (gd_api . godot_method_bind_get_method) (class_name , "set_character\0" . as_ptr () as * const c_char) ; table . set_color = (gd_api . godot_method_bind_get_method) (class_name , "set_color\0" . as_ptr () as * const c_char) ; table . set_elapsed_time = (gd_api . godot_method_bind_get_method) (class_name , "set_elapsed_time\0" . as_ptr () as * const c_char) ; table . set_environment = (gd_api . godot_method_bind_get_method) (class_name , "set_environment\0" . as_ptr () as * const c_char) ; table . set_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_offset\0" . as_ptr () as * const c_char) ; table . set_relative_index = (gd_api . godot_method_bind_get_method) (class_name , "set_relative_index\0" . as_ptr () as * const c_char) ; table . set_visibility = (gd_api . godot_method_bind_get_method) (class_name , "set_visibility\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:778:11558
[INFO] [stdout]     |
[INFO] [stdout] 778 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 778 |                 # [doc = "`core class OpenSimplexNoise` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_opensimplexnoise.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nOpenSimplexNoise inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct OpenSimplexNoise { this : RawObject < Self > , } impl OpenSimplexNoise { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = OpenSimplexNoiseMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_image (& self , width : i64 , height : i64) -> Option < Ref < crate :: generated :: image :: Image , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_image ; let ret = crate :: icalls :: icallptr_obj_i64_i64 (method_bind , self . this . sys () . as_ptr () , width , height) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: image :: Image , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn lacunarity (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_lacunarity ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_noise_1d (& self , x : f64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_noise_1d ; let ret = crate :: icalls :: icallptr_f64_f64 (method_bind , self . this . sys () . as_ptr () , x) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_noise_2d (& self , x : f64 , y : f64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_noise_2d ; let ret = crate :: icalls :: icallptr_f64_f64_f64 (method_bind , self . this . sys () . as_ptr () , x , y) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_noise_2dv (& self , pos : Vector2) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_noise_2dv ; let ret = crate :: icalls :: icallptr_f64_vec2 (method_bind , self . this . sys () . as_ptr () , pos) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_noise_3d (& self , x : f64 , y : f64 , z : f64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_noise_3d ; let ret = crate :: icalls :: icallptr_f64_f64_f64_f64 (method_bind , self . this . sys () . as_ptr () , x , y , z) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_noise_3dv (& self , pos : Vector3) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_noise_3dv ; let ret = crate :: icalls :: icallptr_f64_vec3 (method_bind , self . this . sys () . as_ptr () , pos) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_noise_4d (& self , x : f64 , y : f64 , z : f64 , w : f64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_noise_4d ; let ret = crate :: icalls :: icallptr_f64_f64_f64_f64_f64 (method_bind , self . this . sys () . as_ptr () , x , y , z , w) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn octaves (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_octaves ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn period (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_period ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn persistence (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_persistence ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_seamless_image (& self , size : i64) -> Option < Ref < crate :: generated :: image :: Image , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_seamless_image ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , size) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: image :: Image , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn seed (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . get_seed ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn set_lacunarity (& self , lacunarity : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . set_lacunarity ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , lacunarity) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_octaves (& self , octave_count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . set_octaves ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , octave_count) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_period (& self , period : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . set_period ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , period) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_persistence (& self , persistence : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . set_persistence ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , persistence) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_seed (& self , seed : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = OpenSimplexNoiseMethodTable :: get (get_api ()) . set_seed ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , seed) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for OpenSimplexNoise { } unsafe impl GodotObject for OpenSimplexNoise { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "OpenSimplexNoise" } } impl std :: ops :: Deref for OpenSimplexNoise { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for OpenSimplexNoise { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for OpenSimplexNoise { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for OpenSimplexNoise { } unsafe impl SubClass < crate :: generated :: object :: Object > for OpenSimplexNoise { } impl Instanciable for OpenSimplexNoise { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { OpenSimplexNoise :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct OpenSimplexNoiseMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_image : * mut sys :: godot_method_bind , pub get_lacunarity : * mut sys :: godot_method_bind , pub get_noise_1d : * mut sys :: godot_method_bind , pub get_noise_2d : * mut sys :: godot_method_bind , pub get_noise_2dv : * mut sys :: godot_method_bind , pub get_noise_3d : * mut sys :: godot_method_bind , pub get_noise_3dv : * mut sys :: godot_method_bind , pub get_noise_4d : * mut sys :: godot_method_bind , pub get_octaves : * mut sys :: godot_method_bind , pub get_period : * mut sys :: godot_method_bind , pub get_persistence : * mut sys :: godot_method_bind , pub get_seamless_image : * mut sys :: godot_method_bind , pub get_seed : * mut sys :: godot_method_bind , pub set_lacunarity : * mut sys :: godot_method_bind , pub set_octaves : * mut sys :: godot_method_bind , pub set_period : * mut sys :: godot_method_bind , pub set_persistence : * mut sys :: godot_method_bind , pub set_seed : * mut sys :: godot_method_bind } impl OpenSimplexNoiseMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : OpenSimplexNoiseMethodTable = OpenSimplexNoiseMethodTable { class_constructor : None , get_image : 0 as * mut sys :: godot_method_bind , get_lacunarity : 0 as * mut sys :: godot_method_bind , get_noise_1d : 0 as * mut sys :: godot_method_bind , get_noise_2d : 0 as * mut sys :: godot_method_bind , get_noise_2dv : 0 as * mut sys :: godot_method_bind , get_noise_3d : 0 as * mut sys :: godot_method_bind , get_noise_3dv : 0 as * mut sys :: godot_method_bind , get_noise_4d : 0 as * mut sys :: godot_method_bind , get_octaves : 0 as * mut sys :: godot_method_bind , get_period : 0 as * mut sys :: godot_method_bind , get_persistence : 0 as * mut sys :: godot_method_bind , get_seamless_image : 0 as * mut sys :: godot_method_bind , get_seed : 0 as * mut sys :: godot_method_bind , set_lacunarity : 0 as * mut sys :: godot_method_bind , set_octaves : 0 as * mut sys :: godot_method_bind , set_period : 0 as * mut sys :: godot_method_bind , set_persistence : 0 as * mut sys :: godot_method_bind , set_seed : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { OpenSimplexNoiseMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "OpenSimplexNoise\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_image = (gd_api . godot_method_bind_get_method) (class_name , "get_image\0" . as_ptr () as * const c_char) ; table . get_lacunarity = (gd_api . godot_method_bind_get_method) (class_name , "get_lacunarity\0" . as_ptr () as * const c_char) ; table . get_noise_1d = (gd_api . godot_method_bind_get_method) (class_name , "get_noise_1d\0" . as_ptr () as * const c_char) ; table . get_noise_2d = (gd_api . godot_method_bind_get_method) (class_name , "get_noise_2d\0" . as_ptr () as * const c_char) ; table . get_noise_2dv = (gd_api . godot_method_bind_get_method) (class_name , "get_noise_2dv\0" . as_ptr () as * const c_char) ; table . get_noise_3d = (gd_api . godot_method_bind_get_method) (class_name , "get_noise_3d\0" . as_ptr () as * const c_char) ; table . get_noise_3dv = (gd_api . godot_method_bind_get_method) (class_name , "get_noise_3dv\0" . as_ptr () as * const c_char) ; table . get_noise_4d = (gd_api . godot_method_bind_get_method) (class_name , "get_noise_4d\0" . as_ptr () as * const c_char) ; table . get_octaves = (gd_api . godot_method_bind_get_method) (class_name , "get_octaves\0" . as_ptr () as * const c_char) ; table . get_period = (gd_api . godot_method_bind_get_method) (class_name , "get_period\0" . as_ptr () as * const c_char) ; table . get_persistence = (gd_api . godot_method_bind_get_method) (class_name , "get_persistence\0" . as_ptr () as * const c_char) ; table . get_seamless_image = (gd_api . godot_method_bind_get_method) (class_name , "get_seamless_image\0" . as_ptr () as * const c_char) ; table . get_seed = (gd_api . godot_method_bind_get_method) (class_name , "get_seed\0" . as_ptr () as * const c_char) ; table . set_lacunarity = (gd_api . godot_method_bind_get_method) (class_name , "set_lacunarity\0" . as_ptr () as * const c_char) ; table . set_octaves = (gd_api . godot_method_bind_get_method) (class_name , "set_octaves\0" . as_ptr () as * const c_char) ; table . set_period = (gd_api . godot_method_bind_get_method) (class_name , "set_period\0" . as_ptr () as * const c_char) ; table . set_persistence = (gd_api . godot_method_bind_get_method) (class_name , "set_persistence\0" . as_ptr () as * const c_char) ; table . set_seed = (gd_api . godot_method_bind_get_method) (class_name , "set_seed\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:784:9464
[INFO] [stdout]     |
[INFO] [stdout] 784 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 # [doc = "`core class SpinBox` inherits `Range` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_spinbox.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`SpinBox` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<SpinBox>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nSpinBox inherits methods from:\n - [Range](struct.Range.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SpinBox { this : RawObject < Self > , } impl SpinBox { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SpinBoxMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Applies the current value of this [SpinBox]."] # [doc = ""] # [inline] pub fn apply (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . apply ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Sets the text alignment of the [SpinBox]."] # [doc = ""] # [inline] pub fn align (& self) -> crate :: generated :: line_edit :: Align { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . get_align ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: line_edit :: Align (ret) } } # [doc = "Returns the [LineEdit] instance from this [SpinBox]. You can use it to access properties and methods of [LineEdit]."] # [doc = ""] # [inline] pub fn get_line_edit (& self) -> Option < Ref < crate :: generated :: line_edit :: LineEdit , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . get_line_edit ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: line_edit :: LineEdit , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Adds the specified `prefix` string before the numerical value of the [SpinBox]."] # [doc = ""] # [inline] pub fn prefix (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . get_prefix ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Adds the specified `suffix` string after the numerical value of the [SpinBox]."] # [doc = ""] # [inline] pub fn suffix (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . get_suffix ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "If `true`, the [SpinBox] will be editable. Otherwise, it will be read only."] # [doc = ""] # [inline] pub fn is_editable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . is_editable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Sets the text alignment of the [SpinBox]."] # [doc = ""] # [inline] pub fn set_align (& self , align : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . set_align ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , align) ; } } # [doc = "If `true`, the [SpinBox] will be editable. Otherwise, it will be read only."] # [doc = ""] # [inline] pub fn set_editable (& self , editable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . set_editable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , editable) ; } } # [doc = "Adds the specified `prefix` string before the numerical value of the [SpinBox]."] # [doc = ""] # [inline] pub fn set_prefix (& self , prefix : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . set_prefix ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , prefix . into ()) ; } } # [doc = "Adds the specified `suffix` string after the numerical value of the [SpinBox]."] # [doc = ""] # [inline] pub fn set_suffix (& self , suffix : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SpinBoxMethodTable :: get (get_api ()) . set_suffix ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , suffix . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SpinBox { } unsafe impl GodotObject for SpinBox { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "SpinBox" } } impl QueueFree for SpinBox { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for SpinBox { type Target = crate :: generated :: range :: Range ; # [inline] fn deref (& self) -> & crate :: generated :: range :: Range { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SpinBox { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: range :: Range { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: range :: Range > for SpinBox { } unsafe impl SubClass < crate :: generated :: control :: Control > for SpinBox { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for SpinBox { } unsafe impl SubClass < crate :: generated :: node :: Node > for SpinBox { } unsafe impl SubClass < crate :: generated :: object :: Object > for SpinBox { } impl Instanciable for SpinBox { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SpinBox :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SpinBoxMethodTable { pub class_constructor : sys :: godot_class_constructor , pub apply : * mut sys :: godot_method_bind , pub get_align : * mut sys :: godot_method_bind , pub get_line_edit : * mut sys :: godot_method_bind , pub get_prefix : * mut sys :: godot_method_bind , pub get_suffix : * mut sys :: godot_method_bind , pub is_editable : * mut sys :: godot_method_bind , pub set_align : * mut sys :: godot_method_bind , pub set_editable : * mut sys :: godot_method_bind , pub set_prefix : * mut sys :: godot_method_bind , pub set_suffix : * mut sys :: godot_method_bind } impl SpinBoxMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SpinBoxMethodTable = SpinBoxMethodTable { class_constructor : None , apply : 0 as * mut sys :: godot_method_bind , get_align : 0 as * mut sys :: godot_method_bind , get_line_edit : 0 as * mut sys :: godot_method_bind , get_prefix : 0 as * mut sys :: godot_method_bind , get_suffix : 0 as * mut sys :: godot_method_bind , is_editable : 0 as * mut sys :: godot_method_bind , set_align : 0 as * mut sys :: godot_method_bind , set_editable : 0 as * mut sys :: godot_method_bind , set_prefix : 0 as * mut sys :: godot_method_bind , set_suffix : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SpinBoxMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SpinBox\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . apply = (gd_api . godot_method_bind_get_method) (class_name , "apply\0" . as_ptr () as * const c_char) ; table . get_align = (gd_api . godot_method_bind_get_method) (class_name , "get_align\0" . as_ptr () as * const c_char) ; table . get_line_edit = (gd_api . godot_method_bind_get_method) (class_name , "get_line_edit\0" . as_ptr () as * const c_char) ; table . get_prefix = (gd_api . godot_method_bind_get_method) (class_name , "get_prefix\0" . as_ptr () as * const c_char) ; table . get_suffix = (gd_api . godot_method_bind_get_method) (class_name , "get_suffix\0" . as_ptr () as * const c_char) ; table . is_editable = (gd_api . godot_method_bind_get_method) (class_name , "is_editable\0" . as_ptr () as * const c_char) ; table . set_align = (gd_api . godot_method_bind_get_method) (class_name , "set_align\0" . as_ptr () as * const c_char) ; table . set_editable = (gd_api . godot_method_bind_get_method) (class_name , "set_editable\0" . as_ptr () as * const c_char) ; table . set_prefix = (gd_api . godot_method_bind_get_method) (class_name , "set_prefix\0" . as_ptr () as * const c_char) ; table . set_suffix = (gd_api . godot_method_bind_get_method) (class_name , "set_suffix\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:790:4106
[INFO] [stdout]     |
[INFO] [stdout] 790 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 790 |                 # [doc = "`core class VisualShaderNodeBooleanUniform` inherits `VisualShaderNodeUniform` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodebooleanuniform.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeBooleanUniform inherits methods from:\n - [VisualShaderNodeUniform](struct.VisualShaderNodeUniform.html)\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeBooleanUniform { this : RawObject < Self > , } impl VisualShaderNodeBooleanUniform { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeBooleanUniformMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeBooleanUniform { } unsafe impl GodotObject for VisualShaderNodeBooleanUniform { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeBooleanUniform" } } impl std :: ops :: Deref for VisualShaderNodeBooleanUniform { type Target = crate :: generated :: visual_shader_node_uniform :: VisualShaderNodeUniform ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node_uniform :: VisualShaderNodeUniform { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeBooleanUniform { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node_uniform :: VisualShaderNodeUniform { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node_uniform :: VisualShaderNodeUniform > for VisualShaderNodeBooleanUniform { } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeBooleanUniform { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeBooleanUniform { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeBooleanUniform { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeBooleanUniform { } impl Instanciable for VisualShaderNodeBooleanUniform { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeBooleanUniform :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeBooleanUniformMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualShaderNodeBooleanUniformMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeBooleanUniformMethodTable = VisualShaderNodeBooleanUniformMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeBooleanUniformMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeBooleanUniform\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:796:9268
[INFO] [stdout]     |
[INFO] [stdout] 796 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 # [doc = "`core class WebRTCPeerConnection` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_webrtcpeerconnection.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebRTCPeerConnection inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebRTCPeerConnection { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ConnectionState (pub i64) ; impl ConnectionState { pub const NEW : ConnectionState = ConnectionState (0i64) ; pub const CONNECTING : ConnectionState = ConnectionState (1i64) ; pub const CONNECTED : ConnectionState = ConnectionState (2i64) ; pub const DISCONNECTED : ConnectionState = ConnectionState (3i64) ; pub const FAILED : ConnectionState = ConnectionState (4i64) ; pub const CLOSED : ConnectionState = ConnectionState (5i64) ; } impl From < i64 > for ConnectionState { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ConnectionState > for i64 { # [inline] fn from (v : ConnectionState) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl WebRTCPeerConnection { pub const STATE_CLOSED : i64 = 5i64 ; pub const STATE_CONNECTED : i64 = 2i64 ; pub const STATE_CONNECTING : i64 = 1i64 ; pub const STATE_DISCONNECTED : i64 = 3i64 ; pub const STATE_FAILED : i64 = 4i64 ; pub const STATE_NEW : i64 = 0i64 ; } impl WebRTCPeerConnection { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WebRTCPeerConnectionMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn add_ice_candidate (& self , media : impl Into < GodotString > , index : i64 , name : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . add_ice_candidate ; let ret = crate :: icalls :: icallptr_i64_str_i64_str (method_bind , self . this . sys () . as_ptr () , media . into () , index , name . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn close (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . close ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn create_data_channel (& self , label : impl Into < GodotString > , options : Dictionary) -> Option < Ref < crate :: generated :: web_rtc_data_channel :: WebRTCDataChannel , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . create_data_channel ; let ret = crate :: icalls :: icallptr_obj_str_dict (method_bind , self . this . sys () . as_ptr () , label . into () , options) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: web_rtc_data_channel :: WebRTCDataChannel , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn create_offer (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . create_offer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_connection_state (& self) -> crate :: generated :: web_rtc_peer_connection :: ConnectionState { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . get_connection_state ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: web_rtc_peer_connection :: ConnectionState (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn initialize (& self , configuration : Dictionary) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . initialize ; let ret = crate :: icalls :: icallptr_i64_dict (method_bind , self . this . sys () . as_ptr () , configuration) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn poll (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_local_description (& self , _type : impl Into < GodotString > , sdp : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . set_local_description ; let ret = crate :: icalls :: icallptr_i64_str_str (method_bind , self . this . sys () . as_ptr () , _type . into () , sdp . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_remote_description (& self , _type : impl Into < GodotString > , sdp : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCPeerConnectionMethodTable :: get (get_api ()) . set_remote_description ; let ret = crate :: icalls :: icallptr_i64_str_str (method_bind , self . this . sys () . as_ptr () , _type . into () , sdp . into ()) ; GodotError :: result_from_sys (ret as _) } } } impl gdnative_core :: private :: godot_object :: Sealed for WebRTCPeerConnection { } unsafe impl GodotObject for WebRTCPeerConnection { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebRTCPeerConnection" } } impl std :: ops :: Deref for WebRTCPeerConnection { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebRTCPeerConnection { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebRTCPeerConnection { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebRTCPeerConnection { } impl Instanciable for WebRTCPeerConnection { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WebRTCPeerConnection :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebRTCPeerConnectionMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_ice_candidate : * mut sys :: godot_method_bind , pub close : * mut sys :: godot_method_bind , pub create_data_channel : * mut sys :: godot_method_bind , pub create_offer : * mut sys :: godot_method_bind , pub get_connection_state : * mut sys :: godot_method_bind , pub initialize : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind , pub set_local_description : * mut sys :: godot_method_bind , pub set_remote_description : * mut sys :: godot_method_bind } impl WebRTCPeerConnectionMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebRTCPeerConnectionMethodTable = WebRTCPeerConnectionMethodTable { class_constructor : None , add_ice_candidate : 0 as * mut sys :: godot_method_bind , close : 0 as * mut sys :: godot_method_bind , create_data_channel : 0 as * mut sys :: godot_method_bind , create_offer : 0 as * mut sys :: godot_method_bind , get_connection_state : 0 as * mut sys :: godot_method_bind , initialize : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind , set_local_description : 0 as * mut sys :: godot_method_bind , set_remote_description : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebRTCPeerConnectionMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebRTCPeerConnection\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_ice_candidate = (gd_api . godot_method_bind_get_method) (class_name , "add_ice_candidate\0" . as_ptr () as * const c_char) ; table . close = (gd_api . godot_method_bind_get_method) (class_name , "close\0" . as_ptr () as * const c_char) ; table . create_data_channel = (gd_api . godot_method_bind_get_method) (class_name , "create_data_channel\0" . as_ptr () as * const c_char) ; table . create_offer = (gd_api . godot_method_bind_get_method) (class_name , "create_offer\0" . as_ptr () as * const c_char) ; table . get_connection_state = (gd_api . godot_method_bind_get_method) (class_name , "get_connection_state\0" . as_ptr () as * const c_char) ; table . initialize = (gd_api . godot_method_bind_get_method) (class_name , "initialize\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; table . set_local_description = (gd_api . godot_method_bind_get_method) (class_name , "set_local_description\0" . as_ptr () as * const c_char) ; table . set_remote_description = (gd_api . godot_method_bind_get_method) (class_name , "set_remote_description\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:802:20180
[INFO] [stdout]     |
[INFO] [stdout] 802 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 802 |                 # [doc = "`core class StreamPeer` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_streampeer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nStreamPeer inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct StreamPeer { this : RawObject < Self > , } impl StreamPeer { # [doc = "Gets a signed 16-bit value from the stream."] # [doc = ""] # [inline] pub fn get_16 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_16 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets a signed 32-bit value from the stream."] # [doc = ""] # [inline] pub fn get_32 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_32 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets a signed 64-bit value from the stream."] # [doc = ""] # [inline] pub fn get_64 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_64 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets a signed byte from the stream."] # [doc = ""] # [inline] pub fn get_8 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_8 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the amount of bytes this [StreamPeer] has available."] # [doc = ""] # [inline] pub fn get_available_bytes (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_available_bytes ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the `bytes` argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an [enum @GlobalScope.Error] code and a data array."] # [doc = ""] # [inline] pub fn get_data (& self , bytes : i64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_data ; let ret = crate :: icalls :: icallvar__i64 (method_bind , self . this . sys () . as_ptr () , bytes) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Gets a double-precision float from the stream."] # [doc = ""] # [inline] pub fn get_double (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_double ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets a single-precision float from the stream."] # [doc = ""] # [inline] pub fn get_float (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_float ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a chunk data with the received bytes. The amount of bytes to be received can be requested in the \"bytes\" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an [enum @GlobalScope.Error] code, and a data array."] # [doc = ""] # [inline] pub fn get_partial_data (& self , bytes : i64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_partial_data ; let ret = crate :: icalls :: icallvar__i64 (method_bind , self . this . sys () . as_ptr () , bytes) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Gets a string with byte-length `bytes` from the stream. If `bytes` is negative (default) the length will be read from the stream using the reverse process of [method put_string].\n# Default Arguments\n* `bytes` - `-1`"] # [doc = ""] # [inline] pub fn get_string (& self , bytes : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_string ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , bytes) ; GodotString :: from_sys (ret) } } # [doc = "Gets an unsigned 16-bit value from the stream."] # [doc = ""] # [inline] pub fn get_u16 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_u16 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets an unsigned 32-bit value from the stream."] # [doc = ""] # [inline] pub fn get_u32 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_u32 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets an unsigned 64-bit value from the stream."] # [doc = ""] # [inline] pub fn get_u64 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_u64 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets an unsigned byte from the stream."] # [doc = ""] # [inline] pub fn get_u8 (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_u8 ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets an UTF-8 string with byte-length `bytes` from the stream (this decodes the string sent as UTF-8). If `bytes` is negative (default) the length will be read from the stream using the reverse process of [method put_utf8_string].\n# Default Arguments\n* `bytes` - `-1`"] # [doc = ""] # [inline] pub fn get_utf8_string (& self , bytes : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_utf8_string ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , bytes) ; GodotString :: from_sys (ret) } } # [doc = "Gets a Variant from the stream. If `allow_objects` is `true`, decoding objects is allowed.\n**Warning:** Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.\n# Default Arguments\n* `allow_objects` - `false`"] # [doc = ""] # [inline] pub fn get_var (& self , allow_objects : bool) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . get_var ; let ret = crate :: icalls :: icallptr_var_bool (method_bind , self . this . sys () . as_ptr () , allow_objects) ; Variant :: from_sys (ret) } } # [doc = "If `true`, this [StreamPeer] will using big-endian format for encoding and decoding."] # [doc = ""] # [inline] pub fn is_big_endian_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . is_big_endian_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Puts a signed 16-bit value into the stream."] # [doc = ""] # [inline] pub fn put_16 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_16 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Puts a signed 32-bit value into the stream."] # [doc = ""] # [inline] pub fn put_32 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_32 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Puts a signed 64-bit value into the stream."] # [doc = ""] # [inline] pub fn put_64 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_64 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Puts a signed byte into the stream."] # [doc = ""] # [inline] pub fn put_8 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_8 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Sends a chunk of data through the connection, blocking if necessary until the data is done sending. This function returns an [enum @GlobalScope.Error] code."] # [doc = ""] # [inline] pub fn put_data (& self , data : ByteArray) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_data ; let ret = crate :: icalls :: icallptr_i64_bytearr (method_bind , self . this . sys () . as_ptr () , data) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Puts a double-precision float into the stream."] # [doc = ""] # [inline] pub fn put_double (& self , value : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_double ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Puts a single-precision float into the stream."] # [doc = ""] # [inline] pub fn put_float (& self , value : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_float ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Sends a chunk of data through the connection. If all the data could not be sent at once, only part of it will. This function returns two values, an [enum @GlobalScope.Error] code and an integer, describing how much data was actually sent."] # [doc = ""] # [inline] pub fn put_partial_data (& self , data : ByteArray) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_partial_data ; let ret = crate :: icalls :: icallvar__bytearr (method_bind , self . this . sys () . as_ptr () , data) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nPuts a zero-terminated ASCII string into the stream prepended by a 32-bit unsigned integer representing its size.\nNote: To put an ASCII string without prepending its size, you can use [method put_data]:\n```gdscript\nput_data(\"Hello world\".to_ascii())\n```"] # [doc = ""] # [inline] pub fn put_string (& self , value : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_string ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , value . into ()) ; } } # [doc = "Puts an unsigned 16-bit value into the stream."] # [doc = ""] # [inline] pub fn put_u16 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_u16 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Puts an unsigned 32-bit value into the stream."] # [doc = ""] # [inline] pub fn put_u32 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_u32 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Puts an unsigned 64-bit value into the stream."] # [doc = ""] # [inline] pub fn put_u64 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_u64 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "Puts an unsigned byte into the stream."] # [doc = ""] # [inline] pub fn put_u8 (& self , value : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_u8 ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , value) ; } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nPuts a zero-terminated UTF-8 string into the stream prepended by a 32 bits unsigned integer representing its size.\nNote: To put an UTF-8 string without prepending its size, you can use [method put_data]:\n```gdscript\nput_data(\"Hello world\".to_utf8())\n```"] # [doc = ""] # [inline] pub fn put_utf8_string (& self , value : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_utf8_string ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , value . into ()) ; } } # [doc = "Puts a Variant into the stream. If `full_objects` is `true` encoding objects is allowed (and can potentially include code).\n# Default Arguments\n* `full_objects` - `false`"] # [doc = ""] # [inline] pub fn put_var (& self , value : impl OwnedToVariant , full_objects : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . put_var ; let ret = crate :: icalls :: icallptr_void_var_bool (method_bind , self . this . sys () . as_ptr () , value . owned_to_variant () , full_objects) ; } } # [doc = "If `true`, this [StreamPeer] will using big-endian format for encoding and decoding."] # [doc = ""] # [inline] pub fn set_big_endian (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = StreamPeerMethodTable :: get (get_api ()) . set_big_endian ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for StreamPeer { } unsafe impl GodotObject for StreamPeer { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "StreamPeer" } } impl std :: ops :: Deref for StreamPeer { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for StreamPeer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for StreamPeer { } unsafe impl SubClass < crate :: generated :: object :: Object > for StreamPeer { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct StreamPeerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_16 : * mut sys :: godot_method_bind , pub get_32 : * mut sys :: godot_method_bind , pub get_64 : * mut sys :: godot_method_bind , pub get_8 : * mut sys :: godot_method_bind , pub get_available_bytes : * mut sys :: godot_method_bind , pub get_data : * mut sys :: godot_method_bind , pub get_double : * mut sys :: godot_method_bind , pub get_float : * mut sys :: godot_method_bind , pub get_partial_data : * mut sys :: godot_method_bind , pub get_string : * mut sys :: godot_method_bind , pub get_u16 : * mut sys :: godot_method_bind , pub get_u32 : * mut sys :: godot_method_bind , pub get_u64 : * mut sys :: godot_method_bind , pub get_u8 : * mut sys :: godot_method_bind , pub get_utf8_string : * mut sys :: godot_method_bind , pub get_var : * mut sys :: godot_method_bind , pub is_big_endian_enabled : * mut sys :: godot_method_bind , pub put_16 : * mut sys :: godot_method_bind , pub put_32 : * mut sys :: godot_method_bind , pub put_64 : * mut sys :: godot_method_bind , pub put_8 : * mut sys :: godot_method_bind , pub put_data : * mut sys :: godot_method_bind , pub put_double : * mut sys :: godot_method_bind , pub put_float : * mut sys :: godot_method_bind , pub put_partial_data : * mut sys :: godot_method_bind , pub put_string : * mut sys :: godot_method_bind , pub put_u16 : * mut sys :: godot_method_bind , pub put_u32 : * mut sys :: godot_method_bind , pub put_u64 : * mut sys :: godot_method_bind , pub put_u8 : * mut sys :: godot_method_bind , pub put_utf8_string : * mut sys :: godot_method_bind , pub put_var : * mut sys :: godot_method_bind , pub set_big_endian : * mut sys :: godot_method_bind } impl StreamPeerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : StreamPeerMethodTable = StreamPeerMethodTable { class_constructor : None , get_16 : 0 as * mut sys :: godot_method_bind , get_32 : 0 as * mut sys :: godot_method_bind , get_64 : 0 as * mut sys :: godot_method_bind , get_8 : 0 as * mut sys :: godot_method_bind , get_available_bytes : 0 as * mut sys :: godot_method_bind , get_data : 0 as * mut sys :: godot_method_bind , get_double : 0 as * mut sys :: godot_method_bind , get_float : 0 as * mut sys :: godot_method_bind , get_partial_data : 0 as * mut sys :: godot_method_bind , get_string : 0 as * mut sys :: godot_method_bind , get_u16 : 0 as * mut sys :: godot_method_bind , get_u32 : 0 as * mut sys :: godot_method_bind , get_u64 : 0 as * mut sys :: godot_method_bind , get_u8 : 0 as * mut sys :: godot_method_bind , get_utf8_string : 0 as * mut sys :: godot_method_bind , get_var : 0 as * mut sys :: godot_method_bind , is_big_endian_enabled : 0 as * mut sys :: godot_method_bind , put_16 : 0 as * mut sys :: godot_method_bind , put_32 : 0 as * mut sys :: godot_method_bind , put_64 : 0 as * mut sys :: godot_method_bind , put_8 : 0 as * mut sys :: godot_method_bind , put_data : 0 as * mut sys :: godot_method_bind , put_double : 0 as * mut sys :: godot_method_bind , put_float : 0 as * mut sys :: godot_method_bind , put_partial_data : 0 as * mut sys :: godot_method_bind , put_string : 0 as * mut sys :: godot_method_bind , put_u16 : 0 as * mut sys :: godot_method_bind , put_u32 : 0 as * mut sys :: godot_method_bind , put_u64 : 0 as * mut sys :: godot_method_bind , put_u8 : 0 as * mut sys :: godot_method_bind , put_utf8_string : 0 as * mut sys :: godot_method_bind , put_var : 0 as * mut sys :: godot_method_bind , set_big_endian : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { StreamPeerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "StreamPeer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_16 = (gd_api . godot_method_bind_get_method) (class_name , "get_16\0" . as_ptr () as * const c_char) ; table . get_32 = (gd_api . godot_method_bind_get_method) (class_name , "get_32\0" . as_ptr () as * const c_char) ; table . get_64 = (gd_api . godot_method_bind_get_method) (class_name , "get_64\0" . as_ptr () as * const c_char) ; table . get_8 = (gd_api . godot_method_bind_get_method) (class_name , "get_8\0" . as_ptr () as * const c_char) ; table . get_available_bytes = (gd_api . godot_method_bind_get_method) (class_name , "get_available_bytes\0" . as_ptr () as * const c_char) ; table . get_data = (gd_api . godot_method_bind_get_method) (class_name , "get_data\0" . as_ptr () as * const c_char) ; table . get_double = (gd_api . godot_method_bind_get_method) (class_name , "get_double\0" . as_ptr () as * const c_char) ; table . get_float = (gd_api . godot_method_bind_get_method) (class_name , "get_float\0" . as_ptr () as * const c_char) ; table . get_partial_data = (gd_api . godot_method_bind_get_method) (class_name , "get_partial_data\0" . as_ptr () as * const c_char) ; table . get_string = (gd_api . godot_method_bind_get_method) (class_name , "get_string\0" . as_ptr () as * const c_char) ; table . get_u16 = (gd_api . godot_method_bind_get_method) (class_name , "get_u16\0" . as_ptr () as * const c_char) ; table . get_u32 = (gd_api . godot_method_bind_get_method) (class_name , "get_u32\0" . as_ptr () as * const c_char) ; table . get_u64 = (gd_api . godot_method_bind_get_method) (class_name , "get_u64\0" . as_ptr () as * const c_char) ; table . get_u8 = (gd_api . godot_method_bind_get_method) (class_name , "get_u8\0" . as_ptr () as * const c_char) ; table . get_utf8_string = (gd_api . godot_method_bind_get_method) (class_name , "get_utf8_string\0" . as_ptr () as * const c_char) ; table . get_var = (gd_api . godot_method_bind_get_method) (class_name , "get_var\0" . as_ptr () as * const c_char) ; table . is_big_endian_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_big_endian_enabled\0" . as_ptr () as * const c_char) ; table . put_16 = (gd_api . godot_method_bind_get_method) (class_name , "put_16\0" . as_ptr () as * const c_char) ; table . put_32 = (gd_api . godot_method_bind_get_method) (class_name , "put_32\0" . as_ptr () as * const c_char) ; table . put_64 = (gd_api . godot_method_bind_get_method) (class_name , "put_64\0" . as_ptr () as * const c_char) ; table . put_8 = (gd_api . godot_method_bind_get_method) (class_name , "put_8\0" . as_ptr () as * const c_char) ; table . put_data = (gd_api . godot_method_bind_get_method) (class_name , "put_data\0" . as_ptr () as * const c_char) ; table . put_double = (gd_api . godot_method_bind_get_method) (class_name , "put_double\0" . as_ptr () as * const c_char) ; table . put_float = (gd_api . godot_method_bind_get_method) (class_name , "put_float\0" . as_ptr () as * const c_char) ; table . put_partial_data = (gd_api . godot_method_bind_get_method) (class_name , "put_partial_data\0" . as_ptr () as * const c_char) ; table . put_string = (gd_api . godot_method_bind_get_method) (class_name , "put_string\0" . as_ptr () as * const c_char) ; table . put_u16 = (gd_api . godot_method_bind_get_method) (class_name , "put_u16\0" . as_ptr () as * const c_char) ; table . put_u32 = (gd_api . godot_method_bind_get_method) (class_name , "put_u32\0" . as_ptr () as * const c_char) ; table . put_u64 = (gd_api . godot_method_bind_get_method) (class_name , "put_u64\0" . as_ptr () as * const c_char) ; table . put_u8 = (gd_api . godot_method_bind_get_method) (class_name , "put_u8\0" . as_ptr () as * const c_char) ; table . put_utf8_string = (gd_api . godot_method_bind_get_method) (class_name , "put_utf8_string\0" . as_ptr () as * const c_char) ; table . put_var = (gd_api . godot_method_bind_get_method) (class_name , "put_var\0" . as_ptr () as * const c_char) ; table . set_big_endian = (gd_api . godot_method_bind_get_method) (class_name , "set_big_endian\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:70:46948
[INFO] [stdout]    |
[INFO] [stdout] 70 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 # [doc = "`core class AnimationTreePlayer` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationtreeplayer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`AnimationTreePlayer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<AnimationTreePlayer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nAnimationTreePlayer inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationTreePlayer { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct AnimationProcessMode (pub i64) ; impl AnimationProcessMode { pub const PHYSICS : AnimationProcessMode = AnimationProcessMode (0i64) ; pub const IDLE : AnimationProcessMode = AnimationProcessMode (1i64) ; } impl From < i64 > for AnimationProcessMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < AnimationProcessMode > for i64 { # [inline] fn from (v : AnimationProcessMode) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct NodeType (pub i64) ; impl NodeType { pub const OUTPUT : NodeType = NodeType (0i64) ; pub const ANIMATION : NodeType = NodeType (1i64) ; pub const ONESHOT : NodeType = NodeType (2i64) ; pub const MIX : NodeType = NodeType (3i64) ; pub const BLEND2 : NodeType = NodeType (4i64) ; pub const BLEND3 : NodeType = NodeType (5i64) ; pub const BLEND4 : NodeType = NodeType (6i64) ; pub const TIMESCALE : NodeType = NodeType (7i64) ; pub const TIMESEEK : NodeType = NodeType (8i64) ; pub const TRANSITION : NodeType = NodeType (9i64) ; } impl From < i64 > for NodeType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < NodeType > for i64 { # [inline] fn from (v : NodeType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AnimationTreePlayer { pub const ANIMATION_PROCESS_IDLE : i64 = 1i64 ; pub const ANIMATION_PROCESS_PHYSICS : i64 = 0i64 ; pub const NODE_ANIMATION : i64 = 1i64 ; pub const NODE_BLEND2 : i64 = 4i64 ; pub const NODE_BLEND3 : i64 = 5i64 ; pub const NODE_BLEND4 : i64 = 6i64 ; pub const NODE_MIX : i64 = 3i64 ; pub const NODE_ONESHOT : i64 = 2i64 ; pub const NODE_OUTPUT : i64 = 0i64 ; pub const NODE_TIMESCALE : i64 = 7i64 ; pub const NODE_TIMESEEK : i64 = 8i64 ; pub const NODE_TRANSITION : i64 = 9i64 ; } impl AnimationTreePlayer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationTreePlayerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a `type` node to the graph with name `id`."] # [doc = ""] # [inline] pub fn add_node (& self , _type : i64 , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . add_node ; let ret = crate :: icalls :: icallptr_void_i64_str (method_bind , self . this . sys () . as_ptr () , _type , id . into ()) ; } } # [doc = "Shifts position in the animation timeline. `delta` is the time in seconds to shift. Events between the current frame and `delta` are handled."] # [doc = ""] # [inline] pub fn advance (& self , delta : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . advance ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , delta) ; } } # [doc = "Returns the [AnimationPlayer]'s [Animation] bound to the [AnimationTreePlayer]'s animation node with name `id`."] # [doc = ""] # [inline] pub fn animation_node_get_animation (& self , id : impl Into < GodotString >) -> Option < Ref < crate :: generated :: animation :: Animation , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_get_animation ; let ret = crate :: icalls :: icallptr_obj_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: animation :: Animation , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the name of the [member master_player]'s [Animation] bound to this animation node."] # [doc = ""] # [inline] pub fn animation_node_get_master_animation (& self , id : impl Into < GodotString >) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_get_master_animation ; let ret = crate :: icalls :: icallptr_str_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the absolute playback timestamp of the animation node with name `id`."] # [doc = ""] # [inline] pub fn animation_node_get_position (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_get_position ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Binds a new [Animation] from the [member master_player] to the [AnimationTreePlayer]'s animation node with name `id`."] # [doc = ""] # [inline] pub fn animation_node_set_animation (& self , id : impl Into < GodotString > , animation : impl AsArg < crate :: generated :: animation :: Animation >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_set_animation ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , id . into () , animation . as_arg_ptr ()) ; } } # [doc = "If `enable` is `true`, the animation node with ID `id` turns off the track modifying the property at `path`. The modified node's children continue to animate."] # [doc = ""] # [inline] pub fn animation_node_set_filter_path (& self , id : impl Into < GodotString > , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_set_filter_path ; let ret = crate :: icalls :: icallptr_void_str_nodepath_bool (method_bind , self . this . sys () . as_ptr () , id . into () , path . into () , enable) ; } } # [doc = "Binds the [Animation] named `source` from [member master_player] to the animation node `id`. Recalculates caches."] # [doc = ""] # [inline] pub fn animation_node_set_master_animation (& self , id : impl Into < GodotString > , source : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . animation_node_set_master_animation ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , id . into () , source . into ()) ; } } # [doc = "Returns whether node `id` and `dst_id` are connected at the specified slot."] # [doc = ""] # [inline] pub fn are_nodes_connected (& self , id : impl Into < GodotString > , dst_id : impl Into < GodotString > , dst_input_idx : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . are_nodes_connected ; let ret = crate :: icalls :: icallptr_bool_str_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , dst_id . into () , dst_input_idx) ; ret as _ } } # [doc = "Returns the blend amount of a Blend2 node given its name."] # [doc = ""] # [inline] pub fn blend2_node_get_amount (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend2_node_get_amount ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the blend amount of a Blend2 node given its name and value.\nA Blend2 node blends two animations (A and B) with the amount between 0 and 1.\nAt 0, output is input A. Towards 1, the influence of A gets lessened, the influence of B gets raised. At 1, output is input B."] # [doc = ""] # [inline] pub fn blend2_node_set_amount (& self , id : impl Into < GodotString > , blend : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend2_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , blend) ; } } # [doc = "If `enable` is `true`, the Blend2 node with name `id` turns off the track modifying the property at `path`. The modified node's children continue to animate."] # [doc = ""] # [inline] pub fn blend2_node_set_filter_path (& self , id : impl Into < GodotString > , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend2_node_set_filter_path ; let ret = crate :: icalls :: icallptr_void_str_nodepath_bool (method_bind , self . this . sys () . as_ptr () , id . into () , path . into () , enable) ; } } # [doc = "Returns the blend amount of a Blend3 node given its name."] # [doc = ""] # [inline] pub fn blend3_node_get_amount (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend3_node_get_amount ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the blend amount of a Blend3 node given its name and value.\nA Blend3 Node blends three animations (A, B-, B+) with the amount between -1 and 1.\nAt -1, output is input B-. From -1 to 0, the influence of B- gets lessened, the influence of A gets raised and the influence of B+ is 0. At 0, output is input A. From 0 to 1, the influence of A gets lessened, the influence of B+ gets raised and the influence of B+ is 0. At 1, output is input B+."] # [doc = ""] # [inline] pub fn blend3_node_set_amount (& self , id : impl Into < GodotString > , blend : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend3_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , blend) ; } } # [doc = "Returns the blend amount of a Blend4 node given its name."] # [doc = ""] # [inline] pub fn blend4_node_get_amount (& self , id : impl Into < GodotString >) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend4_node_get_amount ; let ret = crate :: icalls :: icallptr_vec2_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; mem :: transmute (ret) } } # [doc = "Sets the blend amount of a Blend4 node given its name and value.\nA Blend4 Node blends two pairs of animations.\nThe two pairs are blended like Blend2 and then added together."] # [doc = ""] # [inline] pub fn blend4_node_set_amount (& self , id : impl Into < GodotString > , blend : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . blend4_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_vec2 (method_bind , self . this . sys () . as_ptr () , id . into () , blend) ; } } # [doc = "Connects node `id` to `dst_id` at the specified input slot."] # [doc = ""] # [inline] pub fn connect_nodes (& self , id : impl Into < GodotString > , dst_id : impl Into < GodotString > , dst_input_idx : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . connect_nodes ; let ret = crate :: icalls :: icallptr_i64_str_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , dst_id . into () , dst_input_idx) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Disconnects nodes connected to `id` at the specified input slot."] # [doc = ""] # [inline] pub fn disconnect_nodes (& self , id : impl Into < GodotString > , dst_input_idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . disconnect_nodes ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , dst_input_idx) ; } } # [doc = "The thread in which to update animations."] # [doc = ""] # [inline] pub fn animation_process_mode (& self) -> crate :: generated :: animation_tree_player :: AnimationProcessMode { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_animation_process_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: animation_tree_player :: AnimationProcessMode (ret) } } # [doc = "The node from which to relatively access other nodes.\nIt accesses the bones, so it should point to the same node the [AnimationPlayer] would point its Root Node at."] # [doc = ""] # [inline] pub fn base_path (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_base_path ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes.\nOnce set, [Animation] nodes can be added to the [AnimationTreePlayer]."] # [doc = ""] # [inline] pub fn master_player (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_master_player ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "Returns a [PoolStringArray] containing the name of all nodes."] # [doc = ""] # [inline] pub fn get_node_list (& self) -> StringArray { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . get_node_list ; let ret = crate :: icalls :: icallptr_strarr (method_bind , self . this . sys () . as_ptr ()) ; StringArray :: from_sys (ret) } } # [doc = "If `true`, the [AnimationTreePlayer] is able to play animations."] # [doc = ""] # [inline] pub fn is_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . is_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the mix amount of a Mix node given its name."] # [doc = ""] # [inline] pub fn mix_node_get_amount (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . mix_node_get_amount ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the mix amount of a Mix node given its name and value.\nA Mix node adds input b to input a by the amount given by ratio."] # [doc = ""] # [inline] pub fn mix_node_set_amount (& self , id : impl Into < GodotString > , ratio : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . mix_node_set_amount ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , ratio) ; } } # [doc = "Check if a node exists (by name)."] # [doc = ""] # [inline] pub fn node_exists (& self , node : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_exists ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , node . into ()) ; ret as _ } } # [doc = "Returns the input count for a given node. Different types of nodes have different amount of inputs."] # [doc = ""] # [inline] pub fn node_get_input_count (& self , id : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_input_count ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the input source for a given node input."] # [doc = ""] # [inline] pub fn node_get_input_source (& self , id : impl Into < GodotString > , idx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_input_source ; let ret = crate :: icalls :: icallptr_str_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , idx) ; GodotString :: from_sys (ret) } } # [doc = "Returns position of a node in the graph given its name."] # [doc = ""] # [inline] pub fn node_get_position (& self , id : impl Into < GodotString >) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_position ; let ret = crate :: icalls :: icallptr_vec2_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; mem :: transmute (ret) } } # [doc = "Gets the node type, will return from [enum NodeType] enum."] # [doc = ""] # [inline] pub fn node_get_type (& self , id : impl Into < GodotString >) -> crate :: generated :: animation_tree_player :: NodeType { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_get_type ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; crate :: generated :: animation_tree_player :: NodeType (ret) } } # [doc = "Renames a node in the graph."] # [doc = ""] # [inline] pub fn node_rename (& self , node : impl Into < GodotString > , new_name : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_rename ; let ret = crate :: icalls :: icallptr_i64_str_str (method_bind , self . this . sys () . as_ptr () , node . into () , new_name . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Sets the position of a node in the graph given its name and position."] # [doc = ""] # [inline] pub fn node_set_position (& self , id : impl Into < GodotString > , screen_position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . node_set_position ; let ret = crate :: icalls :: icallptr_void_str_vec2 (method_bind , self . this . sys () . as_ptr () , id . into () , screen_position) ; } } # [doc = "Returns the autostart delay of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_autorestart_delay (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_autorestart_delay ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the autostart random delay of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_autorestart_random_delay (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_autorestart_random_delay ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the fade in time of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_fadein_time (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_fadein_time ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the fade out time of a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_get_fadeout_time (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_get_fadeout_time ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns whether a OneShot node will auto restart given its name."] # [doc = ""] # [inline] pub fn oneshot_node_has_autorestart (& self , id : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_has_autorestart ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns whether a OneShot node is active given its name."] # [doc = ""] # [inline] pub fn oneshot_node_is_active (& self , id : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_is_active ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the autorestart property of a OneShot node given its name and value."] # [doc = ""] # [inline] pub fn oneshot_node_set_autorestart (& self , id : impl Into < GodotString > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_autorestart ; let ret = crate :: icalls :: icallptr_void_str_bool (method_bind , self . this . sys () . as_ptr () , id . into () , enable) ; } } # [doc = "Sets the autorestart delay of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_autorestart_delay (& self , id : impl Into < GodotString > , delay_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_autorestart_delay ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , delay_sec) ; } } # [doc = "Sets the autorestart random delay of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_autorestart_random_delay (& self , id : impl Into < GodotString > , rand_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_autorestart_random_delay ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , rand_sec) ; } } # [doc = "Sets the fade in time of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_fadein_time (& self , id : impl Into < GodotString > , time_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_fadein_time ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , time_sec) ; } } # [doc = "Sets the fade out time of a OneShot node given its name and value in seconds."] # [doc = ""] # [inline] pub fn oneshot_node_set_fadeout_time (& self , id : impl Into < GodotString > , time_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_fadeout_time ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , time_sec) ; } } # [doc = "If `enable` is `true`, the OneShot node with ID `id` turns off the track modifying the property at `path`. The modified node's children continue to animate."] # [doc = ""] # [inline] pub fn oneshot_node_set_filter_path (& self , id : impl Into < GodotString > , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_set_filter_path ; let ret = crate :: icalls :: icallptr_void_str_nodepath_bool (method_bind , self . this . sys () . as_ptr () , id . into () , path . into () , enable) ; } } # [doc = "Starts a OneShot node given its name."] # [doc = ""] # [inline] pub fn oneshot_node_start (& self , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_start ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; } } # [doc = "Stops the OneShot node with name `id`."] # [doc = ""] # [inline] pub fn oneshot_node_stop (& self , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . oneshot_node_stop ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; } } # [doc = "Manually recalculates the cache of track information generated from animation nodes. Needed when external sources modify the animation nodes' state."] # [doc = ""] # [inline] pub fn recompute_caches (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . recompute_caches ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Removes the animation node with name `id`."] # [doc = ""] # [inline] pub fn remove_node (& self , id : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . remove_node ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; } } # [doc = "Resets this [AnimationTreePlayer]."] # [doc = ""] # [inline] pub fn reset (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . reset ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, the [AnimationTreePlayer] is able to play animations."] # [doc = ""] # [inline] pub fn set_active (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_active ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The thread in which to update animations."] # [doc = ""] # [inline] pub fn set_animation_process_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_animation_process_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The node from which to relatively access other nodes.\nIt accesses the bones, so it should point to the same node the [AnimationPlayer] would point its Root Node at."] # [doc = ""] # [inline] pub fn set_base_path (& self , path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_base_path ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , path . into ()) ; } } # [doc = "The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes.\nOnce set, [Animation] nodes can be added to the [AnimationTreePlayer]."] # [doc = ""] # [inline] pub fn set_master_player (& self , nodepath : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . set_master_player ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , nodepath . into ()) ; } } # [doc = "Returns the time scale value of the TimeScale node with name `id`."] # [doc = ""] # [inline] pub fn timescale_node_get_scale (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . timescale_node_get_scale ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Sets the time scale of the TimeScale node with name `id` to `scale`.\nThe TimeScale node is used to speed [Animation]s up if the scale is above 1 or slow them down if it is below 1.\nIf applied after a blend or mix, affects all input animations to that blend or mix."] # [doc = ""] # [inline] pub fn timescale_node_set_scale (& self , id : impl Into < GodotString > , scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . timescale_node_set_scale ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , scale) ; } } # [doc = "Sets the time seek value of the TimeSeek node with name `id` to `seconds`.\nThis functions as a seek in the [Animation] or the blend or mix of [Animation]s input in it."] # [doc = ""] # [inline] pub fn timeseek_node_seek (& self , id : impl Into < GodotString > , seconds : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . timeseek_node_seek ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , seconds) ; } } # [doc = "Deletes the input at `input_idx` for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_delete_input (& self , id : impl Into < GodotString > , input_idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_delete_input ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx) ; } } # [doc = "Returns the index of the currently evaluated input for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_get_current (& self , id : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_get_current ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the number of inputs for the transition node with name `id`. You can add inputs by right-clicking on the transition node."] # [doc = ""] # [inline] pub fn transition_node_get_input_count (& self , id : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_get_input_count ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns the cross fade time for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_get_xfade_time (& self , id : impl Into < GodotString >) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_get_xfade_time ; let ret = crate :: icalls :: icallptr_f64_str (method_bind , self . this . sys () . as_ptr () , id . into ()) ; ret as _ } } # [doc = "Returns `true` if the input at `input_idx` on the transition node with name `id` is set to automatically advance to the next input upon completion."] # [doc = ""] # [inline] pub fn transition_node_has_input_auto_advance (& self , id : impl Into < GodotString > , input_idx : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_has_input_auto_advance ; let ret = crate :: icalls :: icallptr_bool_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx) ; ret as _ } } # [doc = "The transition node with name `id` sets its current input at `input_idx`."] # [doc = ""] # [inline] pub fn transition_node_set_current (& self , id : impl Into < GodotString > , input_idx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_current ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx) ; } } # [doc = "The transition node with name `id` advances to its next input automatically when the input at `input_idx` completes."] # [doc = ""] # [inline] pub fn transition_node_set_input_auto_advance (& self , id : impl Into < GodotString > , input_idx : i64 , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_input_auto_advance ; let ret = crate :: icalls :: icallptr_void_str_i64_bool (method_bind , self . this . sys () . as_ptr () , id . into () , input_idx , enable) ; } } # [doc = "Resizes the number of inputs available for the transition node with name `id`."] # [doc = ""] # [inline] pub fn transition_node_set_input_count (& self , id : impl Into < GodotString > , count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_input_count ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , id . into () , count) ; } } # [doc = "The transition node with name `id` sets its cross fade time to `time_sec`."] # [doc = ""] # [inline] pub fn transition_node_set_xfade_time (& self , id : impl Into < GodotString > , time_sec : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreePlayerMethodTable :: get (get_api ()) . transition_node_set_xfade_time ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , id . into () , time_sec) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationTreePlayer { } unsafe impl GodotObject for AnimationTreePlayer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "AnimationTreePlayer" } } impl QueueFree for AnimationTreePlayer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for AnimationTreePlayer { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationTreePlayer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for AnimationTreePlayer { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationTreePlayer { } impl Instanciable for AnimationTreePlayer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationTreePlayer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationTreePlayerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_node : * mut sys :: godot_method_bind , pub advance : * mut sys :: godot_method_bind , pub animation_node_get_animation : * mut sys :: godot_method_bind , pub animation_node_get_master_animation : * mut sys :: godot_method_bind , pub animation_node_get_position : * mut sys :: godot_method_bind , pub animation_node_set_animation : * mut sys :: godot_method_bind , pub animation_node_set_filter_path : * mut sys :: godot_method_bind , pub animation_node_set_master_animation : * mut sys :: godot_method_bind , pub are_nodes_connected : * mut sys :: godot_method_bind , pub blend2_node_get_amount : * mut sys :: godot_method_bind , pub blend2_node_set_amount : * mut sys :: godot_method_bind , pub blend2_node_set_filter_path : * mut sys :: godot_method_bind , pub blend3_node_get_amount : * mut sys :: godot_method_bind , pub blend3_node_set_amount : * mut sys :: godot_method_bind , pub blend4_node_get_amount : * mut sys :: godot_method_bind , pub blend4_node_set_amount : * mut sys :: godot_method_bind , pub connect_nodes : * mut sys :: godot_method_bind , pub disconnect_nodes : * mut sys :: godot_method_bind , pub get_animation_process_mode : * mut sys :: godot_method_bind , pub get_base_path : * mut sys :: godot_method_bind , pub get_master_player : * mut sys :: godot_method_bind , pub get_node_list : * mut sys :: godot_method_bind , pub is_active : * mut sys :: godot_method_bind , pub mix_node_get_amount : * mut sys :: godot_method_bind , pub mix_node_set_amount : * mut sys :: godot_method_bind , pub node_exists : * mut sys :: godot_method_bind , pub node_get_input_count : * mut sys :: godot_method_bind , pub node_get_input_source : * mut sys :: godot_method_bind , pub node_get_position : * mut sys :: godot_method_bind , pub node_get_type : * mut sys :: godot_method_bind , pub node_rename : * mut sys :: godot_method_bind , pub node_set_position : * mut sys :: godot_method_bind , pub oneshot_node_get_autorestart_delay : * mut sys :: godot_method_bind , pub oneshot_node_get_autorestart_random_delay : * mut sys :: godot_method_bind , pub oneshot_node_get_fadein_time : * mut sys :: godot_method_bind , pub oneshot_node_get_fadeout_time : * mut sys :: godot_method_bind , pub oneshot_node_has_autorestart : * mut sys :: godot_method_bind , pub oneshot_node_is_active : * mut sys :: godot_method_bind , pub oneshot_node_set_autorestart : * mut sys :: godot_method_bind , pub oneshot_node_set_autorestart_delay : * mut sys :: godot_method_bind , pub oneshot_node_set_autorestart_random_delay : * mut sys :: godot_method_bind , pub oneshot_node_set_fadein_time : * mut sys :: godot_method_bind , pub oneshot_node_set_fadeout_time : * mut sys :: godot_method_bind , pub oneshot_node_set_filter_path : * mut sys :: godot_method_bind , pub oneshot_node_start : * mut sys :: godot_method_bind , pub oneshot_node_stop : * mut sys :: godot_method_bind , pub recompute_caches : * mut sys :: godot_method_bind , pub remove_node : * mut sys :: godot_method_bind , pub reset : * mut sys :: godot_method_bind , pub set_active : * mut sys :: godot_method_bind , pub set_animation_process_mode : * mut sys :: godot_method_bind , pub set_base_path : * mut sys :: godot_method_bind , pub set_master_player : * mut sys :: godot_method_bind , pub timescale_node_get_scale : * mut sys :: godot_method_bind , pub timescale_node_set_scale : * mut sys :: godot_method_bind , pub timeseek_node_seek : * mut sys :: godot_method_bind , pub transition_node_delete_input : * mut sys :: godot_method_bind , pub transition_node_get_current : * mut sys :: godot_method_bind , pub transition_node_get_input_count : * mut sys :: godot_method_bind , pub transition_node_get_xfade_time : * mut sys :: godot_method_bind , pub transition_node_has_input_auto_advance : * mut sys :: godot_method_bind , pub transition_node_set_current : * mut sys :: godot_method_bind , pub transition_node_set_input_auto_advance : * mut sys :: godot_method_bind , pub transition_node_set_input_count : * mut sys :: godot_method_bind , pub transition_node_set_xfade_time : * mut sys :: godot_method_bind } impl AnimationTreePlayerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationTreePlayerMethodTable = AnimationTreePlayerMethodTable { class_constructor : None , add_node : 0 as * mut sys :: godot_method_bind , advance : 0 as * mut sys :: godot_method_bind , animation_node_get_animation : 0 as * mut sys :: godot_method_bind , animation_node_get_master_animation : 0 as * mut sys :: godot_method_bind , animation_node_get_position : 0 as * mut sys :: godot_method_bind , animation_node_set_animation : 0 as * mut sys :: godot_method_bind , animation_node_set_filter_path : 0 as * mut sys :: godot_method_bind , animation_node_set_master_animation : 0 as * mut sys :: godot_method_bind , are_nodes_connected : 0 as * mut sys :: godot_method_bind , blend2_node_get_amount : 0 as * mut sys :: godot_method_bind , blend2_node_set_amount : 0 as * mut sys :: godot_method_bind , blend2_node_set_filter_path : 0 as * mut sys :: godot_method_bind , blend3_node_get_amount : 0 as * mut sys :: godot_method_bind , blend3_node_set_amount : 0 as * mut sys :: godot_method_bind , blend4_node_get_amount : 0 as * mut sys :: godot_method_bind , blend4_node_set_amount : 0 as * mut sys :: godot_method_bind , connect_nodes : 0 as * mut sys :: godot_method_bind , disconnect_nodes : 0 as * mut sys :: godot_method_bind , get_animation_process_mode : 0 as * mut sys :: godot_method_bind , get_base_path : 0 as * mut sys :: godot_method_bind , get_master_player : 0 as * mut sys :: godot_method_bind , get_node_list : 0 as * mut sys :: godot_method_bind , is_active : 0 as * mut sys :: godot_method_bind , mix_node_get_amount : 0 as * mut sys :: godot_method_bind , mix_node_set_amount : 0 as * mut sys :: godot_method_bind , node_exists : 0 as * mut sys :: godot_method_bind , node_get_input_count : 0 as * mut sys :: godot_method_bind , node_get_input_source : 0 as * mut sys :: godot_method_bind , node_get_position : 0 as * mut sys :: godot_method_bind , node_get_type : 0 as * mut sys :: godot_method_bind , node_rename : 0 as * mut sys :: godot_method_bind , node_set_position : 0 as * mut sys :: godot_method_bind , oneshot_node_get_autorestart_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_get_autorestart_random_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_get_fadein_time : 0 as * mut sys :: godot_method_bind , oneshot_node_get_fadeout_time : 0 as * mut sys :: godot_method_bind , oneshot_node_has_autorestart : 0 as * mut sys :: godot_method_bind , oneshot_node_is_active : 0 as * mut sys :: godot_method_bind , oneshot_node_set_autorestart : 0 as * mut sys :: godot_method_bind , oneshot_node_set_autorestart_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_set_autorestart_random_delay : 0 as * mut sys :: godot_method_bind , oneshot_node_set_fadein_time : 0 as * mut sys :: godot_method_bind , oneshot_node_set_fadeout_time : 0 as * mut sys :: godot_method_bind , oneshot_node_set_filter_path : 0 as * mut sys :: godot_method_bind , oneshot_node_start : 0 as * mut sys :: godot_method_bind , oneshot_node_stop : 0 as * mut sys :: godot_method_bind , recompute_caches : 0 as * mut sys :: godot_method_bind , remove_node : 0 as * mut sys :: godot_method_bind , reset : 0 as * mut sys :: godot_method_bind , set_active : 0 as * mut sys :: godot_method_bind , set_animation_process_mode : 0 as * mut sys :: godot_method_bind , set_base_path : 0 as * mut sys :: godot_method_bind , set_master_player : 0 as * mut sys :: godot_method_bind , timescale_node_get_scale : 0 as * mut sys :: godot_method_bind , timescale_node_set_scale : 0 as * mut sys :: godot_method_bind , timeseek_node_seek : 0 as * mut sys :: godot_method_bind , transition_node_delete_input : 0 as * mut sys :: godot_method_bind , transition_node_get_current : 0 as * mut sys :: godot_method_bind , transition_node_get_input_count : 0 as * mut sys :: godot_method_bind , transition_node_get_xfade_time : 0 as * mut sys :: godot_method_bind , transition_node_has_input_auto_advance : 0 as * mut sys :: godot_method_bind , transition_node_set_current : 0 as * mut sys :: godot_method_bind , transition_node_set_input_auto_advance : 0 as * mut sys :: godot_method_bind , transition_node_set_input_count : 0 as * mut sys :: godot_method_bind , transition_node_set_xfade_time : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationTreePlayerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationTreePlayer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_node = (gd_api . godot_method_bind_get_method) (class_name , "add_node\0" . as_ptr () as * const c_char) ; table . advance = (gd_api . godot_method_bind_get_method) (class_name , "advance\0" . as_ptr () as * const c_char) ; table . animation_node_get_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_get_animation\0" . as_ptr () as * const c_char) ; table . animation_node_get_master_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_get_master_animation\0" . as_ptr () as * const c_char) ; table . animation_node_get_position = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_get_position\0" . as_ptr () as * const c_char) ; table . animation_node_set_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_set_animation\0" . as_ptr () as * const c_char) ; table . animation_node_set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_set_filter_path\0" . as_ptr () as * const c_char) ; table . animation_node_set_master_animation = (gd_api . godot_method_bind_get_method) (class_name , "animation_node_set_master_animation\0" . as_ptr () as * const c_char) ; table . are_nodes_connected = (gd_api . godot_method_bind_get_method) (class_name , "are_nodes_connected\0" . as_ptr () as * const c_char) ; table . blend2_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend2_node_get_amount\0" . as_ptr () as * const c_char) ; table . blend2_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend2_node_set_amount\0" . as_ptr () as * const c_char) ; table . blend2_node_set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "blend2_node_set_filter_path\0" . as_ptr () as * const c_char) ; table . blend3_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend3_node_get_amount\0" . as_ptr () as * const c_char) ; table . blend3_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend3_node_set_amount\0" . as_ptr () as * const c_char) ; table . blend4_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend4_node_get_amount\0" . as_ptr () as * const c_char) ; table . blend4_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "blend4_node_set_amount\0" . as_ptr () as * const c_char) ; table . connect_nodes = (gd_api . godot_method_bind_get_method) (class_name , "connect_nodes\0" . as_ptr () as * const c_char) ; table . disconnect_nodes = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_nodes\0" . as_ptr () as * const c_char) ; table . get_animation_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_animation_process_mode\0" . as_ptr () as * const c_char) ; table . get_base_path = (gd_api . godot_method_bind_get_method) (class_name , "get_base_path\0" . as_ptr () as * const c_char) ; table . get_master_player = (gd_api . godot_method_bind_get_method) (class_name , "get_master_player\0" . as_ptr () as * const c_char) ; table . get_node_list = (gd_api . godot_method_bind_get_method) (class_name , "get_node_list\0" . as_ptr () as * const c_char) ; table . is_active = (gd_api . godot_method_bind_get_method) (class_name , "is_active\0" . as_ptr () as * const c_char) ; table . mix_node_get_amount = (gd_api . godot_method_bind_get_method) (class_name , "mix_node_get_amount\0" . as_ptr () as * const c_char) ; table . mix_node_set_amount = (gd_api . godot_method_bind_get_method) (class_name , "mix_node_set_amount\0" . as_ptr () as * const c_char) ; table . node_exists = (gd_api . godot_method_bind_get_method) (class_name , "node_exists\0" . as_ptr () as * const c_char) ; table . node_get_input_count = (gd_api . godot_method_bind_get_method) (class_name , "node_get_input_count\0" . as_ptr () as * const c_char) ; table . node_get_input_source = (gd_api . godot_method_bind_get_method) (class_name , "node_get_input_source\0" . as_ptr () as * const c_char) ; table . node_get_position = (gd_api . godot_method_bind_get_method) (class_name , "node_get_position\0" . as_ptr () as * const c_char) ; table . node_get_type = (gd_api . godot_method_bind_get_method) (class_name , "node_get_type\0" . as_ptr () as * const c_char) ; table . node_rename = (gd_api . godot_method_bind_get_method) (class_name , "node_rename\0" . as_ptr () as * const c_char) ; table . node_set_position = (gd_api . godot_method_bind_get_method) (class_name , "node_set_position\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_autorestart_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_autorestart_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_autorestart_random_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_autorestart_random_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_fadein_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_fadein_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_get_fadeout_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_get_fadeout_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_has_autorestart = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_has_autorestart\0" . as_ptr () as * const c_char) ; table . oneshot_node_is_active = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_is_active\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_autorestart = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_autorestart\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_autorestart_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_autorestart_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_autorestart_random_delay = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_autorestart_random_delay\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_fadein_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_fadein_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_fadeout_time = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_fadeout_time\0" . as_ptr () as * const c_char) ; table . oneshot_node_set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_set_filter_path\0" . as_ptr () as * const c_char) ; table . oneshot_node_start = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_start\0" . as_ptr () as * const c_char) ; table . oneshot_node_stop = (gd_api . godot_method_bind_get_method) (class_name , "oneshot_node_stop\0" . as_ptr () as * const c_char) ; table . recompute_caches = (gd_api . godot_method_bind_get_method) (class_name , "recompute_caches\0" . as_ptr () as * const c_char) ; table . remove_node = (gd_api . godot_method_bind_get_method) (class_name , "remove_node\0" . as_ptr () as * const c_char) ; table . reset = (gd_api . godot_method_bind_get_method) (class_name , "reset\0" . as_ptr () as * const c_char) ; table . set_active = (gd_api . godot_method_bind_get_method) (class_name , "set_active\0" . as_ptr () as * const c_char) ; table . set_animation_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_animation_process_mode\0" . as_ptr () as * const c_char) ; table . set_base_path = (gd_api . godot_method_bind_get_method) (class_name , "set_base_path\0" . as_ptr () as * const c_char) ; table . set_master_player = (gd_api . godot_method_bind_get_method) (class_name , "set_master_player\0" . as_ptr () as * const c_char) ; table . timescale_node_get_scale = (gd_api . godot_method_bind_get_method) (class_name , "timescale_node_get_scale\0" . as_ptr () as * const c_char) ; table . timescale_node_set_scale = (gd_api . godot_method_bind_get_method) (class_name , "timescale_node_set_scale\0" . as_ptr () as * const c_char) ; table . timeseek_node_seek = (gd_api . godot_method_bind_get_method) (class_name , "timeseek_node_seek\0" . as_ptr () as * const c_char) ; table . transition_node_delete_input = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_delete_input\0" . as_ptr () as * const c_char) ; table . transition_node_get_current = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_get_current\0" . as_ptr () as * const c_char) ; table . transition_node_get_input_count = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_get_input_count\0" . as_ptr () as * const c_char) ; table . transition_node_get_xfade_time = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_get_xfade_time\0" . as_ptr () as * const c_char) ; table . transition_node_has_input_auto_advance = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_has_input_auto_advance\0" . as_ptr () as * const c_char) ; table . transition_node_set_current = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_current\0" . as_ptr () as * const c_char) ; table . transition_node_set_input_auto_advance = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_input_auto_advance\0" . as_ptr () as * const c_char) ; table . transition_node_set_input_count = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_input_count\0" . as_ptr () as * const c_char) ; table . transition_node_set_xfade_time = (gd_api . godot_method_bind_get_method) (class_name , "transition_node_set_xfade_time\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:82:4604
[INFO] [stdout]    |
[INFO] [stdout] 82 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 # [doc = "`tools class EditorScript` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorscript.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nEditorScript inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorScript { this : RawObject < Self > , } impl EditorScript { # [doc = "Adds `node` as a child of the root node in the editor context.\n**Warning:** The implementation of this method is currently disabled."] # [doc = ""] # [inline] pub fn add_root_node (& self , node : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScriptMethodTable :: get (get_api ()) . add_root_node ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Returns the [EditorInterface] singleton instance."] # [doc = ""] # [inline] pub fn get_editor_interface (& self) -> Option < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScriptMethodTable :: get (get_api ()) . get_editor_interface ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the Editor's currently active scene."] # [doc = ""] # [inline] pub fn get_scene (& self) -> Option < Ref < crate :: generated :: node :: Node , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorScriptMethodTable :: get (get_api ()) . get_scene ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: node :: Node , thread_access :: Shared >> :: move_from_sys (sys)) } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorScript { } unsafe impl GodotObject for EditorScript { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "EditorScript" } } impl std :: ops :: Deref for EditorScript { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorScript { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for EditorScript { } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorScript { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_root_node : * mut sys :: godot_method_bind , pub get_editor_interface : * mut sys :: godot_method_bind , pub get_scene : * mut sys :: godot_method_bind } impl EditorScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorScriptMethodTable = EditorScriptMethodTable { class_constructor : None , add_root_node : 0 as * mut sys :: godot_method_bind , get_editor_interface : 0 as * mut sys :: godot_method_bind , get_scene : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorScript\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_root_node = (gd_api . godot_method_bind_get_method) (class_name , "add_root_node\0" . as_ptr () as * const c_char) ; table . get_editor_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_editor_interface\0" . as_ptr () as * const c_char) ; table . get_scene = (gd_api . godot_method_bind_get_method) (class_name , "get_scene\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:88:12623
[INFO] [stdout]    |
[INFO] [stdout] 88 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 # [doc = "`core class Physics2DShapeQueryParameters` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_physics2dshapequeryparameters.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPhysics2DShapeQueryParameters inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Physics2DShapeQueryParameters { this : RawObject < Self > , } impl Physics2DShapeQueryParameters { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Physics2DShapeQueryParametersMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The physics layer(s) the query will take into account (as a bitmask). See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_layer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_collision_layer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The list of objects or object [RID]s that will be excluded from collisions."] # [doc = ""] # [inline] pub fn exclude (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_exclude ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The collision margin for the shape."] # [doc = ""] # [inline] pub fn margin (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_margin ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The motion of the shape being queried for."] # [doc = ""] # [inline] pub fn motion (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_motion ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The queried shape's [RID]. See also [method set_shape]."] # [doc = ""] # [inline] pub fn shape_rid (& self) -> Rid { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_shape_rid ; let ret = crate :: icalls :: icallptr_rid (method_bind , self . this . sys () . as_ptr ()) ; Rid :: from_sys (ret) } } # [doc = "The queried shape's transform matrix."] # [doc = ""] # [inline] pub fn transform (& self) -> Transform2D { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . get_transform ; let ret = crate :: icalls :: icallptr_trans2D (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If `true`, the query will take [Area2D]s into account."] # [doc = ""] # [inline] pub fn is_collide_with_areas_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . is_collide_with_areas_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the query will take [PhysicsBody2D]s into account."] # [doc = ""] # [inline] pub fn is_collide_with_bodies_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . is_collide_with_bodies_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the query will take [Area2D]s into account."] # [doc = ""] # [inline] pub fn set_collide_with_areas (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_collide_with_areas ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, the query will take [PhysicsBody2D]s into account."] # [doc = ""] # [inline] pub fn set_collide_with_bodies (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_collide_with_bodies ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The physics layer(s) the query will take into account (as a bitmask). See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_layer (& self , collision_layer : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_collision_layer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_layer) ; } } # [doc = "The list of objects or object [RID]s that will be excluded from collisions."] # [doc = ""] # [inline] pub fn set_exclude (& self , exclude : VariantArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_exclude ; let ret = crate :: icalls :: icallptr_void_arr (method_bind , self . this . sys () . as_ptr () , exclude) ; } } # [doc = "The collision margin for the shape."] # [doc = ""] # [inline] pub fn set_margin (& self , margin : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_margin ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , margin) ; } } # [doc = "The motion of the shape being queried for."] # [doc = ""] # [inline] pub fn set_motion (& self , motion : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_motion ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , motion) ; } } # [doc = "Sets the [Shape2D] that will be used for collision/intersection queries."] # [doc = ""] # [inline] pub fn set_shape (& self , shape : impl AsArg < crate :: generated :: resource :: Resource >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_shape ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , shape . as_arg_ptr ()) ; } } # [doc = "The queried shape's [RID]. See also [method set_shape]."] # [doc = ""] # [inline] pub fn set_shape_rid (& self , shape : Rid) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_shape_rid ; let ret = crate :: icalls :: icallptr_void_rid (method_bind , self . this . sys () . as_ptr () , shape) ; } } # [doc = "The queried shape's transform matrix."] # [doc = ""] # [inline] pub fn set_transform (& self , transform : Transform2D) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Physics2DShapeQueryParametersMethodTable :: get (get_api ()) . set_transform ; let ret = crate :: icalls :: icallptr_void_trans2D (method_bind , self . this . sys () . as_ptr () , transform) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Physics2DShapeQueryParameters { } unsafe impl GodotObject for Physics2DShapeQueryParameters { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Physics2DShapeQueryParameters" } } impl std :: ops :: Deref for Physics2DShapeQueryParameters { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Physics2DShapeQueryParameters { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Physics2DShapeQueryParameters { } unsafe impl SubClass < crate :: generated :: object :: Object > for Physics2DShapeQueryParameters { } impl Instanciable for Physics2DShapeQueryParameters { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Physics2DShapeQueryParameters :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Physics2DShapeQueryParametersMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_collision_layer : * mut sys :: godot_method_bind , pub get_exclude : * mut sys :: godot_method_bind , pub get_margin : * mut sys :: godot_method_bind , pub get_motion : * mut sys :: godot_method_bind , pub get_shape_rid : * mut sys :: godot_method_bind , pub get_transform : * mut sys :: godot_method_bind , pub is_collide_with_areas_enabled : * mut sys :: godot_method_bind , pub is_collide_with_bodies_enabled : * mut sys :: godot_method_bind , pub set_collide_with_areas : * mut sys :: godot_method_bind , pub set_collide_with_bodies : * mut sys :: godot_method_bind , pub set_collision_layer : * mut sys :: godot_method_bind , pub set_exclude : * mut sys :: godot_method_bind , pub set_margin : * mut sys :: godot_method_bind , pub set_motion : * mut sys :: godot_method_bind , pub set_shape : * mut sys :: godot_method_bind , pub set_shape_rid : * mut sys :: godot_method_bind , pub set_transform : * mut sys :: godot_method_bind } impl Physics2DShapeQueryParametersMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Physics2DShapeQueryParametersMethodTable = Physics2DShapeQueryParametersMethodTable { class_constructor : None , get_collision_layer : 0 as * mut sys :: godot_method_bind , get_exclude : 0 as * mut sys :: godot_method_bind , get_margin : 0 as * mut sys :: godot_method_bind , get_motion : 0 as * mut sys :: godot_method_bind , get_shape_rid : 0 as * mut sys :: godot_method_bind , get_transform : 0 as * mut sys :: godot_method_bind , is_collide_with_areas_enabled : 0 as * mut sys :: godot_method_bind , is_collide_with_bodies_enabled : 0 as * mut sys :: godot_method_bind , set_collide_with_areas : 0 as * mut sys :: godot_method_bind , set_collide_with_bodies : 0 as * mut sys :: godot_method_bind , set_collision_layer : 0 as * mut sys :: godot_method_bind , set_exclude : 0 as * mut sys :: godot_method_bind , set_margin : 0 as * mut sys :: godot_method_bind , set_motion : 0 as * mut sys :: godot_method_bind , set_shape : 0 as * mut sys :: godot_method_bind , set_shape_rid : 0 as * mut sys :: godot_method_bind , set_transform : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Physics2DShapeQueryParametersMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Physics2DShapeQueryParameters\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer\0" . as_ptr () as * const c_char) ; table . get_exclude = (gd_api . godot_method_bind_get_method) (class_name , "get_exclude\0" . as_ptr () as * const c_char) ; table . get_margin = (gd_api . godot_method_bind_get_method) (class_name , "get_margin\0" . as_ptr () as * const c_char) ; table . get_motion = (gd_api . godot_method_bind_get_method) (class_name , "get_motion\0" . as_ptr () as * const c_char) ; table . get_shape_rid = (gd_api . godot_method_bind_get_method) (class_name , "get_shape_rid\0" . as_ptr () as * const c_char) ; table . get_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_transform\0" . as_ptr () as * const c_char) ; table . is_collide_with_areas_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_areas_enabled\0" . as_ptr () as * const c_char) ; table . is_collide_with_bodies_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_bodies_enabled\0" . as_ptr () as * const c_char) ; table . set_collide_with_areas = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_areas\0" . as_ptr () as * const c_char) ; table . set_collide_with_bodies = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_bodies\0" . as_ptr () as * const c_char) ; table . set_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer\0" . as_ptr () as * const c_char) ; table . set_exclude = (gd_api . godot_method_bind_get_method) (class_name , "set_exclude\0" . as_ptr () as * const c_char) ; table . set_margin = (gd_api . godot_method_bind_get_method) (class_name , "set_margin\0" . as_ptr () as * const c_char) ; table . set_motion = (gd_api . godot_method_bind_get_method) (class_name , "set_motion\0" . as_ptr () as * const c_char) ; table . set_shape = (gd_api . godot_method_bind_get_method) (class_name , "set_shape\0" . as_ptr () as * const c_char) ; table . set_shape_rid = (gd_api . godot_method_bind_get_method) (class_name , "set_shape_rid\0" . as_ptr () as * const c_char) ; table . set_transform = (gd_api . godot_method_bind_get_method) (class_name , "set_transform\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:808:6602
[INFO] [stdout]     |
[INFO] [stdout] 808 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 808 |                 # [doc = "`core class InputEventMouse` inherits `InputEventWithModifiers` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_inputeventmouse.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nInputEventMouse inherits methods from:\n - [InputEventWithModifiers](struct.InputEventWithModifiers.html)\n - [InputEvent](struct.InputEvent.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct InputEventMouse { this : RawObject < Self > , } impl InputEventMouse { # [doc = "The mouse button mask identifier, one of or a bitwise combination of the [enum ButtonList] button masks."] # [doc = ""] # [inline] pub fn button_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMouseMethodTable :: get (get_api ()) . get_button_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The global mouse position relative to the current [Viewport] when used in [method Control._gui_input], otherwise is at 0,0."] # [doc = ""] # [inline] pub fn global_position (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMouseMethodTable :: get (get_api ()) . get_global_position ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The local mouse position relative to the [Viewport]. If used in [method Control._gui_input], the position is relative to the current [Control] which is under the mouse."] # [doc = ""] # [inline] pub fn position (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMouseMethodTable :: get (get_api ()) . get_position ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The mouse button mask identifier, one of or a bitwise combination of the [enum ButtonList] button masks."] # [doc = ""] # [inline] pub fn set_button_mask (& self , button_mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMouseMethodTable :: get (get_api ()) . set_button_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , button_mask) ; } } # [doc = "The global mouse position relative to the current [Viewport] when used in [method Control._gui_input], otherwise is at 0,0."] # [doc = ""] # [inline] pub fn set_global_position (& self , global_position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMouseMethodTable :: get (get_api ()) . set_global_position ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , global_position) ; } } # [doc = "The local mouse position relative to the [Viewport]. If used in [method Control._gui_input], the position is relative to the current [Control] which is under the mouse."] # [doc = ""] # [inline] pub fn set_position (& self , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventMouseMethodTable :: get (get_api ()) . set_position ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , position) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for InputEventMouse { } unsafe impl GodotObject for InputEventMouse { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "InputEventMouse" } } impl std :: ops :: Deref for InputEventMouse { type Target = crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers ; # [inline] fn deref (& self) -> & crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for InputEventMouse { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers > for InputEventMouse { } unsafe impl SubClass < crate :: generated :: input_event :: InputEvent > for InputEventMouse { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for InputEventMouse { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for InputEventMouse { } unsafe impl SubClass < crate :: generated :: object :: Object > for InputEventMouse { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct InputEventMouseMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_button_mask : * mut sys :: godot_method_bind , pub get_global_position : * mut sys :: godot_method_bind , pub get_position : * mut sys :: godot_method_bind , pub set_button_mask : * mut sys :: godot_method_bind , pub set_global_position : * mut sys :: godot_method_bind , pub set_position : * mut sys :: godot_method_bind } impl InputEventMouseMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : InputEventMouseMethodTable = InputEventMouseMethodTable { class_constructor : None , get_button_mask : 0 as * mut sys :: godot_method_bind , get_global_position : 0 as * mut sys :: godot_method_bind , get_position : 0 as * mut sys :: godot_method_bind , set_button_mask : 0 as * mut sys :: godot_method_bind , set_global_position : 0 as * mut sys :: godot_method_bind , set_position : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { InputEventMouseMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "InputEventMouse\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_button_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_button_mask\0" . as_ptr () as * const c_char) ; table . get_global_position = (gd_api . godot_method_bind_get_method) (class_name , "get_global_position\0" . as_ptr () as * const c_char) ; table . get_position = (gd_api . godot_method_bind_get_method) (class_name , "get_position\0" . as_ptr () as * const c_char) ; table . set_button_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_button_mask\0" . as_ptr () as * const c_char) ; table . set_global_position = (gd_api . godot_method_bind_get_method) (class_name , "set_global_position\0" . as_ptr () as * const c_char) ; table . set_position = (gd_api . godot_method_bind_get_method) (class_name , "set_position\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:814:13198
[INFO] [stdout]     |
[INFO] [stdout] 814 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 814 |                 # [doc = "`core class VisualScriptPropertySet` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptpropertyset.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptPropertySet inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptPropertySet { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct AssignOp (pub i64) ; impl AssignOp { pub const NONE : AssignOp = AssignOp (0i64) ; pub const ADD : AssignOp = AssignOp (1i64) ; pub const SUB : AssignOp = AssignOp (2i64) ; pub const MUL : AssignOp = AssignOp (3i64) ; pub const DIV : AssignOp = AssignOp (4i64) ; pub const MOD : AssignOp = AssignOp (5i64) ; pub const SHIFT_LEFT : AssignOp = AssignOp (6i64) ; pub const SHIFT_RIGHT : AssignOp = AssignOp (7i64) ; pub const BIT_AND : AssignOp = AssignOp (8i64) ; pub const BIT_OR : AssignOp = AssignOp (9i64) ; pub const BIT_XOR : AssignOp = AssignOp (10i64) ; } impl From < i64 > for AssignOp { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < AssignOp > for i64 { # [inline] fn from (v : AssignOp) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct CallMode (pub i64) ; impl CallMode { pub const SELF : CallMode = CallMode (0i64) ; pub const NODE_PATH : CallMode = CallMode (1i64) ; pub const INSTANCE : CallMode = CallMode (2i64) ; pub const BASIC_TYPE : CallMode = CallMode (3i64) ; } impl From < i64 > for CallMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < CallMode > for i64 { # [inline] fn from (v : CallMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualScriptPropertySet { pub const ASSIGN_OP_ADD : i64 = 1i64 ; pub const ASSIGN_OP_BIT_AND : i64 = 8i64 ; pub const ASSIGN_OP_BIT_OR : i64 = 9i64 ; pub const ASSIGN_OP_BIT_XOR : i64 = 10i64 ; pub const ASSIGN_OP_DIV : i64 = 4i64 ; pub const ASSIGN_OP_MOD : i64 = 5i64 ; pub const ASSIGN_OP_MUL : i64 = 3i64 ; pub const ASSIGN_OP_NONE : i64 = 0i64 ; pub const ASSIGN_OP_SHIFT_LEFT : i64 = 6i64 ; pub const ASSIGN_OP_SHIFT_RIGHT : i64 = 7i64 ; pub const ASSIGN_OP_SUB : i64 = 2i64 ; pub const CALL_MODE_BASIC_TYPE : i64 = 3i64 ; pub const CALL_MODE_INSTANCE : i64 = 2i64 ; pub const CALL_MODE_NODE_PATH : i64 = 1i64 ; pub const CALL_MODE_SELF : i64 = 0i64 ; } impl VisualScriptPropertySet { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptPropertySetMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn assign_op (& self) -> crate :: generated :: visual_script_property_set :: AssignOp { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_assign_op ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_script_property_set :: AssignOp (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn base_path (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_base_path ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn base_script (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_base_script ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn base_type (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_base_type ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn basic_type (& self) -> VariantType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_basic_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; VariantType :: from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn call_mode (& self) -> crate :: generated :: visual_script_property_set :: CallMode { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_call_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_script_property_set :: CallMode (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn index (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_index ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn property (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . get_property ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_assign_op (& self , assign_op : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_assign_op ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , assign_op) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_base_path (& self , base_path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_base_path ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , base_path . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_base_script (& self , base_script : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_base_script ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , base_script . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_base_type (& self , base_type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_base_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , base_type . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_basic_type (& self , basic_type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_basic_type ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , basic_type) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_call_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_call_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_index (& self , index : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_index ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , index . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_property (& self , property : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptPropertySetMethodTable :: get (get_api ()) . set_property ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , property . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptPropertySet { } unsafe impl GodotObject for VisualScriptPropertySet { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptPropertySet" } } impl std :: ops :: Deref for VisualScriptPropertySet { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptPropertySet { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptPropertySet { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptPropertySet { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptPropertySet { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptPropertySet { } impl Instanciable for VisualScriptPropertySet { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptPropertySet :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptPropertySetMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_assign_op : * mut sys :: godot_method_bind , pub get_base_path : * mut sys :: godot_method_bind , pub get_base_script : * mut sys :: godot_method_bind , pub get_base_type : * mut sys :: godot_method_bind , pub get_basic_type : * mut sys :: godot_method_bind , pub get_call_mode : * mut sys :: godot_method_bind , pub get_index : * mut sys :: godot_method_bind , pub get_property : * mut sys :: godot_method_bind , pub set_assign_op : * mut sys :: godot_method_bind , pub set_base_path : * mut sys :: godot_method_bind , pub set_base_script : * mut sys :: godot_method_bind , pub set_base_type : * mut sys :: godot_method_bind , pub set_basic_type : * mut sys :: godot_method_bind , pub set_call_mode : * mut sys :: godot_method_bind , pub set_index : * mut sys :: godot_method_bind , pub set_property : * mut sys :: godot_method_bind } impl VisualScriptPropertySetMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptPropertySetMethodTable = VisualScriptPropertySetMethodTable { class_constructor : None , get_assign_op : 0 as * mut sys :: godot_method_bind , get_base_path : 0 as * mut sys :: godot_method_bind , get_base_script : 0 as * mut sys :: godot_method_bind , get_base_type : 0 as * mut sys :: godot_method_bind , get_basic_type : 0 as * mut sys :: godot_method_bind , get_call_mode : 0 as * mut sys :: godot_method_bind , get_index : 0 as * mut sys :: godot_method_bind , get_property : 0 as * mut sys :: godot_method_bind , set_assign_op : 0 as * mut sys :: godot_method_bind , set_base_path : 0 as * mut sys :: godot_method_bind , set_base_script : 0 as * mut sys :: godot_method_bind , set_base_type : 0 as * mut sys :: godot_method_bind , set_basic_type : 0 as * mut sys :: godot_method_bind , set_call_mode : 0 as * mut sys :: godot_method_bind , set_index : 0 as * mut sys :: godot_method_bind , set_property : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptPropertySetMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptPropertySet\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_assign_op = (gd_api . godot_method_bind_get_method) (class_name , "get_assign_op\0" . as_ptr () as * const c_char) ; table . get_base_path = (gd_api . godot_method_bind_get_method) (class_name , "get_base_path\0" . as_ptr () as * const c_char) ; table . get_base_script = (gd_api . godot_method_bind_get_method) (class_name , "get_base_script\0" . as_ptr () as * const c_char) ; table . get_base_type = (gd_api . godot_method_bind_get_method) (class_name , "get_base_type\0" . as_ptr () as * const c_char) ; table . get_basic_type = (gd_api . godot_method_bind_get_method) (class_name , "get_basic_type\0" . as_ptr () as * const c_char) ; table . get_call_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_call_mode\0" . as_ptr () as * const c_char) ; table . get_index = (gd_api . godot_method_bind_get_method) (class_name , "get_index\0" . as_ptr () as * const c_char) ; table . get_property = (gd_api . godot_method_bind_get_method) (class_name , "get_property\0" . as_ptr () as * const c_char) ; table . set_assign_op = (gd_api . godot_method_bind_get_method) (class_name , "set_assign_op\0" . as_ptr () as * const c_char) ; table . set_base_path = (gd_api . godot_method_bind_get_method) (class_name , "set_base_path\0" . as_ptr () as * const c_char) ; table . set_base_script = (gd_api . godot_method_bind_get_method) (class_name , "set_base_script\0" . as_ptr () as * const c_char) ; table . set_base_type = (gd_api . godot_method_bind_get_method) (class_name , "set_base_type\0" . as_ptr () as * const c_char) ; table . set_basic_type = (gd_api . godot_method_bind_get_method) (class_name , "set_basic_type\0" . as_ptr () as * const c_char) ; table . set_call_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_call_mode\0" . as_ptr () as * const c_char) ; table . set_index = (gd_api . godot_method_bind_get_method) (class_name , "set_index\0" . as_ptr () as * const c_char) ; table . set_property = (gd_api . godot_method_bind_get_method) (class_name , "set_property\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:820:3889
[INFO] [stdout]     |
[INFO] [stdout] 820 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 820 |                 # [doc = "`core class VisualShaderNodeTransformCompose` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodetransformcompose.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeTransformCompose inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeTransformCompose { this : RawObject < Self > , } impl VisualShaderNodeTransformCompose { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeTransformComposeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeTransformCompose { } unsafe impl GodotObject for VisualShaderNodeTransformCompose { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeTransformCompose" } } impl std :: ops :: Deref for VisualShaderNodeTransformCompose { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeTransformCompose { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeTransformCompose { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeTransformCompose { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeTransformCompose { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeTransformCompose { } impl Instanciable for VisualShaderNodeTransformCompose { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeTransformCompose :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeTransformComposeMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualShaderNodeTransformComposeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeTransformComposeMethodTable = VisualShaderNodeTransformComposeMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeTransformComposeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeTransformCompose\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:826:7750
[INFO] [stdout]     |
[INFO] [stdout] 826 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 826 |                 # [doc = "`core class AnimationNodeTransition` inherits `AnimationNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnodetransition.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNodeTransition inherits methods from:\n - [AnimationNode](struct.AnimationNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNodeTransition { this : RawObject < Self > , } impl AnimationNodeTransition { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeTransitionMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Cross-fading time (in seconds) between each animation connected to the inputs."] # [doc = ""] # [inline] pub fn cross_fade_time (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . get_cross_fade_time ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The number of available input ports for this node."] # [doc = ""] # [inline] pub fn enabled_inputs (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . get_enabled_inputs ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn input_caption (& self , input : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . get_input_caption ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , input) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_input_set_as_auto_advance (& self , input : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . is_input_set_as_auto_advance ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , input) ; ret as _ } } # [doc = "Cross-fading time (in seconds) between each animation connected to the inputs."] # [doc = ""] # [inline] pub fn set_cross_fade_time (& self , time : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . set_cross_fade_time ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , time) ; } } # [doc = "The number of available input ports for this node."] # [doc = ""] # [inline] pub fn set_enabled_inputs (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . set_enabled_inputs ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_input_as_auto_advance (& self , input : i64 , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . set_input_as_auto_advance ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , input , enable) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_input_caption (& self , input : i64 , caption : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeTransitionMethodTable :: get (get_api ()) . set_input_caption ; let ret = crate :: icalls :: icallptr_void_i64_str (method_bind , self . this . sys () . as_ptr () , input , caption . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNodeTransition { } unsafe impl GodotObject for AnimationNodeTransition { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNodeTransition" } } impl std :: ops :: Deref for AnimationNodeTransition { type Target = crate :: generated :: animation_node :: AnimationNode ; # [inline] fn deref (& self) -> & crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNodeTransition { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: animation_node :: AnimationNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: animation_node :: AnimationNode > for AnimationNodeTransition { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNodeTransition { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNodeTransition { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNodeTransition { } impl Instanciable for AnimationNodeTransition { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNodeTransition :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeTransitionMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cross_fade_time : * mut sys :: godot_method_bind , pub get_enabled_inputs : * mut sys :: godot_method_bind , pub get_input_caption : * mut sys :: godot_method_bind , pub is_input_set_as_auto_advance : * mut sys :: godot_method_bind , pub set_cross_fade_time : * mut sys :: godot_method_bind , pub set_enabled_inputs : * mut sys :: godot_method_bind , pub set_input_as_auto_advance : * mut sys :: godot_method_bind , pub set_input_caption : * mut sys :: godot_method_bind } impl AnimationNodeTransitionMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeTransitionMethodTable = AnimationNodeTransitionMethodTable { class_constructor : None , get_cross_fade_time : 0 as * mut sys :: godot_method_bind , get_enabled_inputs : 0 as * mut sys :: godot_method_bind , get_input_caption : 0 as * mut sys :: godot_method_bind , is_input_set_as_auto_advance : 0 as * mut sys :: godot_method_bind , set_cross_fade_time : 0 as * mut sys :: godot_method_bind , set_enabled_inputs : 0 as * mut sys :: godot_method_bind , set_input_as_auto_advance : 0 as * mut sys :: godot_method_bind , set_input_caption : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeTransitionMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNodeTransition\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cross_fade_time = (gd_api . godot_method_bind_get_method) (class_name , "get_cross_fade_time\0" . as_ptr () as * const c_char) ; table . get_enabled_inputs = (gd_api . godot_method_bind_get_method) (class_name , "get_enabled_inputs\0" . as_ptr () as * const c_char) ; table . get_input_caption = (gd_api . godot_method_bind_get_method) (class_name , "get_input_caption\0" . as_ptr () as * const c_char) ; table . is_input_set_as_auto_advance = (gd_api . godot_method_bind_get_method) (class_name , "is_input_set_as_auto_advance\0" . as_ptr () as * const c_char) ; table . set_cross_fade_time = (gd_api . godot_method_bind_get_method) (class_name , "set_cross_fade_time\0" . as_ptr () as * const c_char) ; table . set_enabled_inputs = (gd_api . godot_method_bind_get_method) (class_name , "set_enabled_inputs\0" . as_ptr () as * const c_char) ; table . set_input_as_auto_advance = (gd_api . godot_method_bind_get_method) (class_name , "set_input_as_auto_advance\0" . as_ptr () as * const c_char) ; table . set_input_caption = (gd_api . godot_method_bind_get_method) (class_name , "set_input_caption\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:94:6880
[INFO] [stdout]    |
[INFO] [stdout] 94 | ... 0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]    |                                             ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 # [doc = "`core class CSGMesh` inherits `CSGPrimitive` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_csgmesh.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`CSGMesh` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<CSGMesh>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nCSGMesh inherits methods from:\n - [CSGPrimitive](struct.CSGPrimitive.html)\n - [CSGShape](struct.CSGShape.html)\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CSGMesh { this : RawObject < Self > , } impl CSGMesh { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CSGMeshMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn material (& self) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . get_material ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_material (& self , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . set_material ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , material . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_mesh (& self , mesh : impl AsArg < crate :: generated :: mesh :: Mesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CSGMeshMethodTable :: get (get_api ()) . set_mesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CSGMesh { } unsafe impl GodotObject for CSGMesh { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "CSGMesh" } } impl QueueFree for CSGMesh { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for CSGMesh { type Target = crate :: generated :: csg_primitive :: CSGPrimitive ; # [inline] fn deref (& self) -> & crate :: generated :: csg_primitive :: CSGPrimitive { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CSGMesh { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: csg_primitive :: CSGPrimitive { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: csg_primitive :: CSGPrimitive > for CSGMesh { } unsafe impl SubClass < crate :: generated :: csg_shape :: CSGShape > for CSGMesh { } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for CSGMesh { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for CSGMesh { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for CSGMesh { } unsafe impl SubClass < crate :: generated :: node :: Node > for CSGMesh { } unsafe impl SubClass < crate :: generated :: object :: Object > for CSGMesh { } impl Instanciable for CSGMesh { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CSGMesh :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CSGMeshMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_material : * mut sys :: godot_method_bind , pub get_mesh : * mut sys :: godot_method_bind , pub set_material : * mut sys :: godot_method_bind , pub set_mesh : * mut sys :: godot_method_bind } impl CSGMeshMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CSGMeshMethodTable = CSGMeshMethodTable { class_constructor : None , get_material : 0 as * mut sys :: godot_method_bind , get_mesh : 0 as * mut sys :: godot_method_bind , set_material : 0 as * mut sys :: godot_method_bind , set_mesh : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CSGMeshMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CSGMesh\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_material = (gd_api . godot_method_bind_get_method) (class_name , "get_material\0" . as_ptr () as * const c_char) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . set_material = (gd_api . godot_method_bind_get_method) (class_name , "set_material\0" . as_ptr () as * const c_char) ; table . set_mesh = (gd_api . godot_method_bind_get_method) (class_name , "set_mesh\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:832:12183
[INFO] [stdout]     |
[INFO] [stdout] 832 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 832 |                 # [doc = "`core class PacketPeerUDP` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_packetpeerudp.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPacketPeerUDP inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PacketPeerUDP { this : RawObject < Self > , } impl PacketPeerUDP { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PacketPeerUDPMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Closes the UDP socket the [PacketPeerUDP] is currently listening on."] # [doc = ""] # [inline] pub fn close (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . close ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Calling this method connects this UDP peer to the given `host`/`port` pair. UDP is in reality connectionless, so this option only means that incoming packets from different addresses are automatically discarded, and that outgoing packets are always sent to the connected address (future calls to [method set_dest_address] are not allowed). This method does not send any data to the remote peer, to do that, use [method PacketPeer.put_var] or [method PacketPeer.put_packet] as usual. See also [UDPServer].\nNote: Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transfering sensitive information."] # [doc = ""] # [inline] pub fn connect_to_host (& self , host : impl Into < GodotString > , port : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . connect_to_host ; let ret = crate :: icalls :: icallptr_i64_str_i64 (method_bind , self . this . sys () . as_ptr () , host . into () , port) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Returns the IP of the remote peer that sent the last packet(that was received with [method PacketPeer.get_packet] or [method PacketPeer.get_var])."] # [doc = ""] # [inline] pub fn get_packet_ip (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . get_packet_ip ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Returns the port of the remote peer that sent the last packet(that was received with [method PacketPeer.get_packet] or [method PacketPeer.get_var])."] # [doc = ""] # [inline] pub fn get_packet_port (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . get_packet_port ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the UDP socket is open and has been connected to a remote address. See [method connect_to_host]."] # [doc = ""] # [inline] pub fn is_connected_to_host (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . is_connected_to_host ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns whether this [PacketPeerUDP] is listening."] # [doc = ""] # [inline] pub fn is_listening (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . is_listening ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Joins the multicast group specified by `multicast_address` using the interface identified by `interface_name`.\nYou can join the same multicast group with multiple interfaces. Use [method IP.get_local_interfaces] to know which are available.\nNote: Some Android devices might require the `CHANGE_WIFI_MULTICAST_STATE` permission for multicast to work."] # [doc = ""] # [inline] pub fn join_multicast_group (& self , multicast_address : impl Into < GodotString > , interface_name : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . join_multicast_group ; let ret = crate :: icalls :: icallptr_i64_str_str (method_bind , self . this . sys () . as_ptr () , multicast_address . into () , interface_name . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Removes the interface identified by `interface_name` from the multicast group specified by `multicast_address`."] # [doc = ""] # [inline] pub fn leave_multicast_group (& self , multicast_address : impl Into < GodotString > , interface_name : impl Into < GodotString >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . leave_multicast_group ; let ret = crate :: icalls :: icallptr_i64_str_str (method_bind , self . this . sys () . as_ptr () , multicast_address . into () , interface_name . into ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Makes this [PacketPeerUDP] listen on the `port` binding to `bind_address` with a buffer size `recv_buf_size`.\nIf `bind_address` is set to `\"*\"` (default), the peer will listen on all available addresses (both IPv4 and IPv6).\nIf `bind_address` is set to `\"0.0.0.0\"` (for IPv4) or `\"::\"` (for IPv6), the peer will listen on all available addresses matching that IP type.\nIf `bind_address` is set to any valid address (e.g. `\"192.168.1.101\"`, `\"::1\"`, etc), the peer will only listen on the interface with that addresses (or fail if no interface with the given address exists).\n# Default Arguments\n* `bind_address` - `\"*\"`\n* `recv_buf_size` - `65536`"] # [doc = ""] # [inline] pub fn listen (& self , port : i64 , bind_address : impl Into < GodotString > , recv_buf_size : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . listen ; let ret = crate :: icalls :: icallptr_i64_i64_str_i64 (method_bind , self . this . sys () . as_ptr () , port , bind_address . into () , recv_buf_size) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Enable or disable sending of broadcast packets (e.g. `set_dest_address(\"255.255.255.255\", 4343)`. This option is disabled by default.\nNote: Some Android devices might require the `CHANGE_WIFI_MULTICAST_STATE` permission and this option to be enabled to receive broadcast packets too."] # [doc = ""] # [inline] pub fn set_broadcast_enabled (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . set_broadcast_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "Sets the destination address and port for sending packets and variables. A hostname will be resolved using DNS if needed.\nNote: [method set_broadcast_enabled] must be enabled before sending packets to a broadcast address (e.g. `255.255.255.255`)."] # [doc = ""] # [inline] pub fn set_dest_address (& self , host : impl Into < GodotString > , port : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . set_dest_address ; let ret = crate :: icalls :: icallptr_i64_str_i64 (method_bind , self . this . sys () . as_ptr () , host . into () , port) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Waits for a packet to arrive on the listening port. See [method listen]."] # [doc = ""] # [inline] pub fn wait (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerUDPMethodTable :: get (get_api ()) . wait ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } } impl gdnative_core :: private :: godot_object :: Sealed for PacketPeerUDP { } unsafe impl GodotObject for PacketPeerUDP { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "PacketPeerUDP" } } impl std :: ops :: Deref for PacketPeerUDP { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PacketPeerUDP { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for PacketPeerUDP { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for PacketPeerUDP { } unsafe impl SubClass < crate :: generated :: object :: Object > for PacketPeerUDP { } impl Instanciable for PacketPeerUDP { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PacketPeerUDP :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PacketPeerUDPMethodTable { pub class_constructor : sys :: godot_class_constructor , pub close : * mut sys :: godot_method_bind , pub connect_to_host : * mut sys :: godot_method_bind , pub get_packet_ip : * mut sys :: godot_method_bind , pub get_packet_port : * mut sys :: godot_method_bind , pub is_connected_to_host : * mut sys :: godot_method_bind , pub is_listening : * mut sys :: godot_method_bind , pub join_multicast_group : * mut sys :: godot_method_bind , pub leave_multicast_group : * mut sys :: godot_method_bind , pub listen : * mut sys :: godot_method_bind , pub set_broadcast_enabled : * mut sys :: godot_method_bind , pub set_dest_address : * mut sys :: godot_method_bind , pub wait : * mut sys :: godot_method_bind } impl PacketPeerUDPMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PacketPeerUDPMethodTable = PacketPeerUDPMethodTable { class_constructor : None , close : 0 as * mut sys :: godot_method_bind , connect_to_host : 0 as * mut sys :: godot_method_bind , get_packet_ip : 0 as * mut sys :: godot_method_bind , get_packet_port : 0 as * mut sys :: godot_method_bind , is_connected_to_host : 0 as * mut sys :: godot_method_bind , is_listening : 0 as * mut sys :: godot_method_bind , join_multicast_group : 0 as * mut sys :: godot_method_bind , leave_multicast_group : 0 as * mut sys :: godot_method_bind , listen : 0 as * mut sys :: godot_method_bind , set_broadcast_enabled : 0 as * mut sys :: godot_method_bind , set_dest_address : 0 as * mut sys :: godot_method_bind , wait : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PacketPeerUDPMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PacketPeerUDP\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . close = (gd_api . godot_method_bind_get_method) (class_name , "close\0" . as_ptr () as * const c_char) ; table . connect_to_host = (gd_api . godot_method_bind_get_method) (class_name , "connect_to_host\0" . as_ptr () as * const c_char) ; table . get_packet_ip = (gd_api . godot_method_bind_get_method) (class_name , "get_packet_ip\0" . as_ptr () as * const c_char) ; table . get_packet_port = (gd_api . godot_method_bind_get_method) (class_name , "get_packet_port\0" . as_ptr () as * const c_char) ; table . is_connected_to_host = (gd_api . godot_method_bind_get_method) (class_name , "is_connected_to_host\0" . as_ptr () as * const c_char) ; table . is_listening = (gd_api . godot_method_bind_get_method) (class_name , "is_listening\0" . as_ptr () as * const c_char) ; table . join_multicast_group = (gd_api . godot_method_bind_get_method) (class_name , "join_multicast_group\0" . as_ptr () as * const c_char) ; table . leave_multicast_group = (gd_api . godot_method_bind_get_method) (class_name , "leave_multicast_group\0" . as_ptr () as * const c_char) ; table . listen = (gd_api . godot_method_bind_get_method) (class_name , "listen\0" . as_ptr () as * const c_char) ; table . set_broadcast_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_broadcast_enabled\0" . as_ptr () as * const c_char) ; table . set_dest_address = (gd_api . godot_method_bind_get_method) (class_name , "set_dest_address\0" . as_ptr () as * const c_char) ; table . wait = (gd_api . godot_method_bind_get_method) (class_name , "wait\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:100:3679
[INFO] [stdout]     |
[INFO] [stdout] 100 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 # [doc = "`core class VisualShaderNodeCustom` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodecustom.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeCustom inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeCustom { this : RawObject < Self > , } impl VisualShaderNodeCustom { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeCustomMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeCustom { } unsafe impl GodotObject for VisualShaderNodeCustom { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeCustom" } } impl std :: ops :: Deref for VisualShaderNodeCustom { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeCustom { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeCustom { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeCustom { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeCustom { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeCustom { } impl Instanciable for VisualShaderNodeCustom { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeCustom :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeCustomMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualShaderNodeCustomMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeCustomMethodTable = VisualShaderNodeCustomMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeCustomMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeCustom\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:838:6872
[INFO] [stdout]     |
[INFO] [stdout] 838 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 838 |                 # [doc = "`core class Joint` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_joint.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nJoint inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Joint { this : RawObject < Self > , } impl Joint { # [doc = "If `true`, the two bodies of the nodes are not able to collide with each other."] # [doc = ""] # [inline] pub fn exclude_nodes_from_collision (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . get_exclude_nodes_from_collision ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node attached to the first side (A) of the joint."] # [doc = ""] # [inline] pub fn node_a (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . get_node_a ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "The node attached to the second side (B) of the joint."] # [doc = ""] # [inline] pub fn node_b (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . get_node_b ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "The priority used to define which solver is executed first for multiple joints. The lower the value, the higher the priority."] # [doc = ""] # [inline] pub fn solver_priority (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . get_solver_priority ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the two bodies of the nodes are not able to collide with each other."] # [doc = ""] # [inline] pub fn set_exclude_nodes_from_collision (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . set_exclude_nodes_from_collision ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The node attached to the first side (A) of the joint."] # [doc = ""] # [inline] pub fn set_node_a (& self , node : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . set_node_a ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , node . into ()) ; } } # [doc = "The node attached to the second side (B) of the joint."] # [doc = ""] # [inline] pub fn set_node_b (& self , node : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . set_node_b ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , node . into ()) ; } } # [doc = "The priority used to define which solver is executed first for multiple joints. The lower the value, the higher the priority."] # [doc = ""] # [inline] pub fn set_solver_priority (& self , priority : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = JointMethodTable :: get (get_api ()) . set_solver_priority ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , priority) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Joint { } unsafe impl GodotObject for Joint { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Joint" } } impl QueueFree for Joint { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Joint { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Joint { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for Joint { } unsafe impl SubClass < crate :: generated :: node :: Node > for Joint { } unsafe impl SubClass < crate :: generated :: object :: Object > for Joint { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct JointMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_exclude_nodes_from_collision : * mut sys :: godot_method_bind , pub get_node_a : * mut sys :: godot_method_bind , pub get_node_b : * mut sys :: godot_method_bind , pub get_solver_priority : * mut sys :: godot_method_bind , pub set_exclude_nodes_from_collision : * mut sys :: godot_method_bind , pub set_node_a : * mut sys :: godot_method_bind , pub set_node_b : * mut sys :: godot_method_bind , pub set_solver_priority : * mut sys :: godot_method_bind } impl JointMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : JointMethodTable = JointMethodTable { class_constructor : None , get_exclude_nodes_from_collision : 0 as * mut sys :: godot_method_bind , get_node_a : 0 as * mut sys :: godot_method_bind , get_node_b : 0 as * mut sys :: godot_method_bind , get_solver_priority : 0 as * mut sys :: godot_method_bind , set_exclude_nodes_from_collision : 0 as * mut sys :: godot_method_bind , set_node_a : 0 as * mut sys :: godot_method_bind , set_node_b : 0 as * mut sys :: godot_method_bind , set_solver_priority : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { JointMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Joint\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_exclude_nodes_from_collision = (gd_api . godot_method_bind_get_method) (class_name , "get_exclude_nodes_from_collision\0" . as_ptr () as * const c_char) ; table . get_node_a = (gd_api . godot_method_bind_get_method) (class_name , "get_node_a\0" . as_ptr () as * const c_char) ; table . get_node_b = (gd_api . godot_method_bind_get_method) (class_name , "get_node_b\0" . as_ptr () as * const c_char) ; table . get_solver_priority = (gd_api . godot_method_bind_get_method) (class_name , "get_solver_priority\0" . as_ptr () as * const c_char) ; table . set_exclude_nodes_from_collision = (gd_api . godot_method_bind_get_method) (class_name , "set_exclude_nodes_from_collision\0" . as_ptr () as * const c_char) ; table . set_node_a = (gd_api . godot_method_bind_get_method) (class_name , "set_node_a\0" . as_ptr () as * const c_char) ; table . set_node_b = (gd_api . godot_method_bind_get_method) (class_name , "set_node_b\0" . as_ptr () as * const c_char) ; table . set_solver_priority = (gd_api . godot_method_bind_get_method) (class_name , "set_solver_priority\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:106:5412
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 # [doc = "`core class VisualScriptLocalVar` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptlocalvar.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptLocalVar inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptLocalVar { this : RawObject < Self > , } impl VisualScriptLocalVar { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptLocalVarMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn var_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . get_var_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn var_type (& self) -> VariantType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . get_var_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; VariantType :: from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_var_name (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . set_var_name ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_var_type (& self , _type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarMethodTable :: get (get_api ()) . set_var_type ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , _type) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptLocalVar { } unsafe impl GodotObject for VisualScriptLocalVar { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptLocalVar" } } impl std :: ops :: Deref for VisualScriptLocalVar { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptLocalVar { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptLocalVar { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptLocalVar { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptLocalVar { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptLocalVar { } impl Instanciable for VisualScriptLocalVar { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptLocalVar :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptLocalVarMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_var_name : * mut sys :: godot_method_bind , pub get_var_type : * mut sys :: godot_method_bind , pub set_var_name : * mut sys :: godot_method_bind , pub set_var_type : * mut sys :: godot_method_bind } impl VisualScriptLocalVarMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptLocalVarMethodTable = VisualScriptLocalVarMethodTable { class_constructor : None , get_var_name : 0 as * mut sys :: godot_method_bind , get_var_type : 0 as * mut sys :: godot_method_bind , set_var_name : 0 as * mut sys :: godot_method_bind , set_var_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptLocalVarMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptLocalVar\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_var_name = (gd_api . godot_method_bind_get_method) (class_name , "get_var_name\0" . as_ptr () as * const c_char) ; table . get_var_type = (gd_api . godot_method_bind_get_method) (class_name , "get_var_type\0" . as_ptr () as * const c_char) ; table . set_var_name = (gd_api . godot_method_bind_get_method) (class_name , "set_var_name\0" . as_ptr () as * const c_char) ; table . set_var_type = (gd_api . godot_method_bind_get_method) (class_name , "set_var_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:112:7979
[INFO] [stdout]     |
[INFO] [stdout] 112 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 112 |                 # [doc = "`core class BitMap` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_bitmap.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nBitMap inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct BitMap { this : RawObject < Self > , } impl BitMap { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = BitMapMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Creates a bitmap with the specified size, filled with `false`."] # [doc = ""] # [inline] pub fn create (& self , size : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . create ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , size) ; } } # [doc = "Creates a bitmap that matches the given image dimensions, every element of the bitmap is set to `false` if the alpha value of the image at that position is equal to `threshold` or less, and `true` in other case.\n# Default Arguments\n* `threshold` - `0.1`"] # [doc = ""] # [inline] pub fn create_from_image_alpha (& self , image : impl AsArg < crate :: generated :: image :: Image > , threshold : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . create_from_image_alpha ; let ret = crate :: icalls :: icallptr_void_obj_f64 (method_bind , self . this . sys () . as_ptr () , image . as_arg_ptr () , threshold) ; } } # [doc = "Returns bitmap's value at the specified position."] # [doc = ""] # [inline] pub fn get_bit (& self , position : Vector2) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . get_bit ; let ret = crate :: icalls :: icallptr_bool_vec2 (method_bind , self . this . sys () . as_ptr () , position) ; ret as _ } } # [doc = "Returns bitmap's dimensions."] # [doc = ""] # [inline] pub fn get_size (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . get_size ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the amount of bitmap elements that are set to `true`."] # [doc = ""] # [inline] pub fn get_true_bit_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . get_true_bit_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Applies morphological dilation to the bitmap. The first argument is the dilation amount, Rect2 is the area where the dilation will be applied."] # [doc = ""] # [inline] pub fn grow_mask (& self , pixels : i64 , rect : Rect2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . grow_mask ; let ret = crate :: icalls :: icallptr_void_i64_rect2 (method_bind , self . this . sys () . as_ptr () , pixels , rect) ; } } # [doc = "\n# Default Arguments\n* `epsilon` - `2.0`"] # [doc = ""] # [inline] pub fn opaque_to_polygons (& self , rect : Rect2 , epsilon : f64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . opaque_to_polygons ; let ret = crate :: icalls :: icallvar__rect2_f64 (method_bind , self . this . sys () . as_ptr () , rect , epsilon) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Sets the bitmap's element at the specified position, to the specified value."] # [doc = ""] # [inline] pub fn set_bit (& self , position : Vector2 , bit : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . set_bit ; let ret = crate :: icalls :: icallptr_void_vec2_bool (method_bind , self . this . sys () . as_ptr () , position , bit) ; } } # [doc = "Sets a rectangular portion of the bitmap to the specified value."] # [doc = ""] # [inline] pub fn set_bit_rect (& self , rect : Rect2 , bit : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BitMapMethodTable :: get (get_api ()) . set_bit_rect ; let ret = crate :: icalls :: icallptr_void_rect2_bool (method_bind , self . this . sys () . as_ptr () , rect , bit) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for BitMap { } unsafe impl GodotObject for BitMap { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "BitMap" } } impl std :: ops :: Deref for BitMap { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for BitMap { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for BitMap { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for BitMap { } unsafe impl SubClass < crate :: generated :: object :: Object > for BitMap { } impl Instanciable for BitMap { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { BitMap :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct BitMapMethodTable { pub class_constructor : sys :: godot_class_constructor , pub create : * mut sys :: godot_method_bind , pub create_from_image_alpha : * mut sys :: godot_method_bind , pub get_bit : * mut sys :: godot_method_bind , pub get_size : * mut sys :: godot_method_bind , pub get_true_bit_count : * mut sys :: godot_method_bind , pub grow_mask : * mut sys :: godot_method_bind , pub opaque_to_polygons : * mut sys :: godot_method_bind , pub set_bit : * mut sys :: godot_method_bind , pub set_bit_rect : * mut sys :: godot_method_bind } impl BitMapMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : BitMapMethodTable = BitMapMethodTable { class_constructor : None , create : 0 as * mut sys :: godot_method_bind , create_from_image_alpha : 0 as * mut sys :: godot_method_bind , get_bit : 0 as * mut sys :: godot_method_bind , get_size : 0 as * mut sys :: godot_method_bind , get_true_bit_count : 0 as * mut sys :: godot_method_bind , grow_mask : 0 as * mut sys :: godot_method_bind , opaque_to_polygons : 0 as * mut sys :: godot_method_bind , set_bit : 0 as * mut sys :: godot_method_bind , set_bit_rect : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { BitMapMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "BitMap\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . create = (gd_api . godot_method_bind_get_method) (class_name , "create\0" . as_ptr () as * const c_char) ; table . create_from_image_alpha = (gd_api . godot_method_bind_get_method) (class_name , "create_from_image_alpha\0" . as_ptr () as * const c_char) ; table . get_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_bit\0" . as_ptr () as * const c_char) ; table . get_size = (gd_api . godot_method_bind_get_method) (class_name , "get_size\0" . as_ptr () as * const c_char) ; table . get_true_bit_count = (gd_api . godot_method_bind_get_method) (class_name , "get_true_bit_count\0" . as_ptr () as * const c_char) ; table . grow_mask = (gd_api . godot_method_bind_get_method) (class_name , "grow_mask\0" . as_ptr () as * const c_char) ; table . opaque_to_polygons = (gd_api . godot_method_bind_get_method) (class_name , "opaque_to_polygons\0" . as_ptr () as * const c_char) ; table . set_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_bit\0" . as_ptr () as * const c_char) ; table . set_bit_rect = (gd_api . godot_method_bind_get_method) (class_name , "set_bit_rect\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:844:16637
[INFO] [stdout]     |
[INFO] [stdout] 844 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 844 |                 # [doc = "`core class Mesh` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_mesh.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nMesh inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Mesh { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ArrayFormat (pub i64) ; impl ArrayFormat { pub const FORMAT_VERTEX : ArrayFormat = ArrayFormat (1i64) ; pub const FORMAT_NORMAL : ArrayFormat = ArrayFormat (2i64) ; pub const FORMAT_TANGENT : ArrayFormat = ArrayFormat (4i64) ; pub const FORMAT_COLOR : ArrayFormat = ArrayFormat (8i64) ; pub const COMPRESS_BASE : ArrayFormat = ArrayFormat (9i64) ; pub const FORMAT_TEX_UV : ArrayFormat = ArrayFormat (16i64) ; pub const FORMAT_TEX_UV2 : ArrayFormat = ArrayFormat (32i64) ; pub const FORMAT_BONES : ArrayFormat = ArrayFormat (64i64) ; pub const FORMAT_WEIGHTS : ArrayFormat = ArrayFormat (128i64) ; pub const FORMAT_INDEX : ArrayFormat = ArrayFormat (256i64) ; pub const COMPRESS_VERTEX : ArrayFormat = ArrayFormat (512i64) ; pub const COMPRESS_NORMAL : ArrayFormat = ArrayFormat (1024i64) ; pub const COMPRESS_TANGENT : ArrayFormat = ArrayFormat (2048i64) ; pub const COMPRESS_COLOR : ArrayFormat = ArrayFormat (4096i64) ; pub const COMPRESS_TEX_UV : ArrayFormat = ArrayFormat (8192i64) ; pub const COMPRESS_TEX_UV2 : ArrayFormat = ArrayFormat (16384i64) ; pub const COMPRESS_BONES : ArrayFormat = ArrayFormat (32768i64) ; pub const COMPRESS_WEIGHTS : ArrayFormat = ArrayFormat (65536i64) ; pub const COMPRESS_DEFAULT : ArrayFormat = ArrayFormat (97280i64) ; pub const COMPRESS_INDEX : ArrayFormat = ArrayFormat (131072i64) ; pub const FLAG_USE_2D_VERTICES : ArrayFormat = ArrayFormat (262144i64) ; pub const FLAG_USE_16_BIT_BONES : ArrayFormat = ArrayFormat (524288i64) ; } impl From < i64 > for ArrayFormat { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ArrayFormat > for i64 { # [inline] fn from (v : ArrayFormat) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ArrayType (pub i64) ; impl ArrayType { pub const VERTEX : ArrayType = ArrayType (0i64) ; pub const NORMAL : ArrayType = ArrayType (1i64) ; pub const TANGENT : ArrayType = ArrayType (2i64) ; pub const COLOR : ArrayType = ArrayType (3i64) ; pub const TEX_UV : ArrayType = ArrayType (4i64) ; pub const TEX_UV2 : ArrayType = ArrayType (5i64) ; pub const BONES : ArrayType = ArrayType (6i64) ; pub const WEIGHTS : ArrayType = ArrayType (7i64) ; pub const INDEX : ArrayType = ArrayType (8i64) ; pub const MAX : ArrayType = ArrayType (9i64) ; } impl From < i64 > for ArrayType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ArrayType > for i64 { # [inline] fn from (v : ArrayType) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct BlendShapeMode (pub i64) ; impl BlendShapeMode { pub const NORMALIZED : BlendShapeMode = BlendShapeMode (0i64) ; pub const RELATIVE : BlendShapeMode = BlendShapeMode (1i64) ; } impl From < i64 > for BlendShapeMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < BlendShapeMode > for i64 { # [inline] fn from (v : BlendShapeMode) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct PrimitiveType (pub i64) ; impl PrimitiveType { pub const POINTS : PrimitiveType = PrimitiveType (0i64) ; pub const LINES : PrimitiveType = PrimitiveType (1i64) ; pub const LINE_STRIP : PrimitiveType = PrimitiveType (2i64) ; pub const LINE_LOOP : PrimitiveType = PrimitiveType (3i64) ; pub const TRIANGLES : PrimitiveType = PrimitiveType (4i64) ; pub const TRIANGLE_STRIP : PrimitiveType = PrimitiveType (5i64) ; pub const TRIANGLE_FAN : PrimitiveType = PrimitiveType (6i64) ; } impl From < i64 > for PrimitiveType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < PrimitiveType > for i64 { # [inline] fn from (v : PrimitiveType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Mesh { pub const ARRAY_BONES : i64 = 6i64 ; pub const ARRAY_COLOR : i64 = 3i64 ; pub const ARRAY_COMPRESS_BASE : i64 = 9i64 ; pub const ARRAY_COMPRESS_BONES : i64 = 32768i64 ; pub const ARRAY_COMPRESS_COLOR : i64 = 4096i64 ; pub const ARRAY_COMPRESS_DEFAULT : i64 = 97280i64 ; pub const ARRAY_COMPRESS_INDEX : i64 = 131072i64 ; pub const ARRAY_COMPRESS_NORMAL : i64 = 1024i64 ; pub const ARRAY_COMPRESS_TANGENT : i64 = 2048i64 ; pub const ARRAY_COMPRESS_TEX_UV : i64 = 8192i64 ; pub const ARRAY_COMPRESS_TEX_UV2 : i64 = 16384i64 ; pub const ARRAY_COMPRESS_VERTEX : i64 = 512i64 ; pub const ARRAY_COMPRESS_WEIGHTS : i64 = 65536i64 ; pub const ARRAY_FLAG_USE_16_BIT_BONES : i64 = 524288i64 ; pub const ARRAY_FLAG_USE_2D_VERTICES : i64 = 262144i64 ; pub const ARRAY_FORMAT_BONES : i64 = 64i64 ; pub const ARRAY_FORMAT_COLOR : i64 = 8i64 ; pub const ARRAY_FORMAT_INDEX : i64 = 256i64 ; pub const ARRAY_FORMAT_NORMAL : i64 = 2i64 ; pub const ARRAY_FORMAT_TANGENT : i64 = 4i64 ; pub const ARRAY_FORMAT_TEX_UV : i64 = 16i64 ; pub const ARRAY_FORMAT_TEX_UV2 : i64 = 32i64 ; pub const ARRAY_FORMAT_VERTEX : i64 = 1i64 ; pub const ARRAY_FORMAT_WEIGHTS : i64 = 128i64 ; pub const ARRAY_INDEX : i64 = 8i64 ; pub const ARRAY_MAX : i64 = 9i64 ; pub const ARRAY_NORMAL : i64 = 1i64 ; pub const ARRAY_TANGENT : i64 = 2i64 ; pub const ARRAY_TEX_UV : i64 = 4i64 ; pub const ARRAY_TEX_UV2 : i64 = 5i64 ; pub const ARRAY_VERTEX : i64 = 0i64 ; pub const ARRAY_WEIGHTS : i64 = 7i64 ; pub const BLEND_SHAPE_MODE_NORMALIZED : i64 = 0i64 ; pub const BLEND_SHAPE_MODE_RELATIVE : i64 = 1i64 ; pub const PRIMITIVE_LINES : i64 = 1i64 ; pub const PRIMITIVE_LINE_LOOP : i64 = 3i64 ; pub const PRIMITIVE_LINE_STRIP : i64 = 2i64 ; pub const PRIMITIVE_POINTS : i64 = 0i64 ; pub const PRIMITIVE_TRIANGLES : i64 = 4i64 ; pub const PRIMITIVE_TRIANGLE_FAN : i64 = 6i64 ; pub const PRIMITIVE_TRIANGLE_STRIP : i64 = 5i64 ; } impl Mesh { # [doc = "Calculate a [ConvexPolygonShape] from the mesh."] # [doc = ""] # [inline] pub fn create_convex_shape (& self) -> Option < Ref < crate :: generated :: shape :: Shape , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . create_convex_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: shape :: Shape , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Calculate an outline mesh at a defined offset (margin) from the original mesh.\n**Note:** This method typically returns the vertices in reverse order (e.g. clockwise to counterclockwise)."] # [doc = ""] # [inline] pub fn create_outline (& self , margin : f64) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . create_outline ; let ret = crate :: icalls :: icallptr_obj_f64 (method_bind , self . this . sys () . as_ptr () , margin) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Calculate a [ConcavePolygonShape] from the mesh."] # [doc = ""] # [inline] pub fn create_trimesh_shape (& self) -> Option < Ref < crate :: generated :: shape :: Shape , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . create_trimesh_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: shape :: Shape , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Generate a [TriangleMesh] from the mesh."] # [doc = ""] # [inline] pub fn generate_triangle_mesh (& self) -> Option < Ref < crate :: generated :: triangle_mesh :: TriangleMesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . generate_triangle_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: triangle_mesh :: TriangleMesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the smallest [AABB] enclosing this mesh in local space. Not affected by `custom_aabb`. See also [method VisualInstance.get_transformed_aabb].\n**Note:** This is only implemented for [ArrayMesh] and [PrimitiveMesh]."] # [doc = ""] # [inline] pub fn get_aabb (& self) -> Aabb { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . get_aabb ; let ret = crate :: icalls :: icallptr_aabb (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns all the vertices that make up the faces of the mesh. Each three vertices represent one triangle."] # [doc = ""] # [inline] pub fn get_faces (& self) -> Vector3Array { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . get_faces ; let ret = crate :: icalls :: icallptr_vec3arr (method_bind , self . this . sys () . as_ptr ()) ; Vector3Array :: from_sys (ret) } } # [doc = "Sets a hint to be used for lightmap resolution in [BakedLightmap]. Overrides [member BakedLightmap.bake_default_texels_per_unit]."] # [doc = ""] # [inline] pub fn lightmap_size_hint (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . get_lightmap_size_hint ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the amount of surfaces that the [Mesh] holds."] # [doc = ""] # [inline] pub fn get_surface_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . get_surface_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Sets a hint to be used for lightmap resolution in [BakedLightmap]. Overrides [member BakedLightmap.bake_default_texels_per_unit]."] # [doc = ""] # [inline] pub fn set_lightmap_size_hint (& self , size : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . set_lightmap_size_hint ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , size) ; } } # [doc = "Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see [method ArrayMesh.add_surface_from_arrays])."] # [doc = ""] # [inline] pub fn surface_get_arrays (& self , surf_idx : i64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . surface_get_arrays ; let ret = crate :: icalls :: icallvar__i64 (method_bind , self . this . sys () . as_ptr () , surf_idx) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the blend shape arrays for the requested surface."] # [doc = ""] # [inline] pub fn surface_get_blend_shape_arrays (& self , surf_idx : i64) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . surface_get_blend_shape_arrays ; let ret = crate :: icalls :: icallvar__i64 (method_bind , self . this . sys () . as_ptr () , surf_idx) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns a [Material] in a given surface. Surface is rendered using this material."] # [doc = ""] # [inline] pub fn surface_get_material (& self , surf_idx : i64) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . surface_get_material ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , surf_idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Sets a [Material] for a given surface. Surface will be rendered using this material."] # [doc = ""] # [inline] pub fn surface_set_material (& self , surf_idx : i64 , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshMethodTable :: get (get_api ()) . surface_set_material ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , surf_idx , material . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Mesh { } unsafe impl GodotObject for Mesh { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Mesh" } } impl std :: ops :: Deref for Mesh { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Mesh { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for Mesh { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Mesh { } unsafe impl SubClass < crate :: generated :: object :: Object > for Mesh { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MeshMethodTable { pub class_constructor : sys :: godot_class_constructor , pub create_convex_shape : * mut sys :: godot_method_bind , pub create_outline : * mut sys :: godot_method_bind , pub create_trimesh_shape : * mut sys :: godot_method_bind , pub generate_triangle_mesh : * mut sys :: godot_method_bind , pub get_aabb : * mut sys :: godot_method_bind , pub get_faces : * mut sys :: godot_method_bind , pub get_lightmap_size_hint : * mut sys :: godot_method_bind , pub get_surface_count : * mut sys :: godot_method_bind , pub set_lightmap_size_hint : * mut sys :: godot_method_bind , pub surface_get_arrays : * mut sys :: godot_method_bind , pub surface_get_blend_shape_arrays : * mut sys :: godot_method_bind , pub surface_get_material : * mut sys :: godot_method_bind , pub surface_set_material : * mut sys :: godot_method_bind } impl MeshMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MeshMethodTable = MeshMethodTable { class_constructor : None , create_convex_shape : 0 as * mut sys :: godot_method_bind , create_outline : 0 as * mut sys :: godot_method_bind , create_trimesh_shape : 0 as * mut sys :: godot_method_bind , generate_triangle_mesh : 0 as * mut sys :: godot_method_bind , get_aabb : 0 as * mut sys :: godot_method_bind , get_faces : 0 as * mut sys :: godot_method_bind , get_lightmap_size_hint : 0 as * mut sys :: godot_method_bind , get_surface_count : 0 as * mut sys :: godot_method_bind , set_lightmap_size_hint : 0 as * mut sys :: godot_method_bind , surface_get_arrays : 0 as * mut sys :: godot_method_bind , surface_get_blend_shape_arrays : 0 as * mut sys :: godot_method_bind , surface_get_material : 0 as * mut sys :: godot_method_bind , surface_set_material : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MeshMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Mesh\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . create_convex_shape = (gd_api . godot_method_bind_get_method) (class_name , "create_convex_shape\0" . as_ptr () as * const c_char) ; table . create_outline = (gd_api . godot_method_bind_get_method) (class_name , "create_outline\0" . as_ptr () as * const c_char) ; table . create_trimesh_shape = (gd_api . godot_method_bind_get_method) (class_name , "create_trimesh_shape\0" . as_ptr () as * const c_char) ; table . generate_triangle_mesh = (gd_api . godot_method_bind_get_method) (class_name , "generate_triangle_mesh\0" . as_ptr () as * const c_char) ; table . get_aabb = (gd_api . godot_method_bind_get_method) (class_name , "get_aabb\0" . as_ptr () as * const c_char) ; table . get_faces = (gd_api . godot_method_bind_get_method) (class_name , "get_faces\0" . as_ptr () as * const c_char) ; table . get_lightmap_size_hint = (gd_api . godot_method_bind_get_method) (class_name , "get_lightmap_size_hint\0" . as_ptr () as * const c_char) ; table . get_surface_count = (gd_api . godot_method_bind_get_method) (class_name , "get_surface_count\0" . as_ptr () as * const c_char) ; table . set_lightmap_size_hint = (gd_api . godot_method_bind_get_method) (class_name , "set_lightmap_size_hint\0" . as_ptr () as * const c_char) ; table . surface_get_arrays = (gd_api . godot_method_bind_get_method) (class_name , "surface_get_arrays\0" . as_ptr () as * const c_char) ; table . surface_get_blend_shape_arrays = (gd_api . godot_method_bind_get_method) (class_name , "surface_get_blend_shape_arrays\0" . as_ptr () as * const c_char) ; table . surface_get_material = (gd_api . godot_method_bind_get_method) (class_name , "surface_get_material\0" . as_ptr () as * const c_char) ; table . surface_set_material = (gd_api . godot_method_bind_get_method) (class_name , "surface_set_material\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:850:5973
[INFO] [stdout]     |
[INFO] [stdout] 850 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 850 |                 # [doc = "`core class ShortCut` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_shortcut.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nShortCut inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ShortCut { this : RawObject < Self > , } impl ShortCut { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ShortCutMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns the shortcut's [InputEvent] as a [String]."] # [doc = ""] # [inline] pub fn get_as_text (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ShortCutMethodTable :: get (get_api ()) . get_as_text ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "The shortcut's [InputEvent].\nGenerally the [InputEvent] is a keyboard key, though it can be any [InputEvent]."] # [doc = ""] # [inline] pub fn shortcut (& self) -> Option < Ref < crate :: generated :: input_event :: InputEvent , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ShortCutMethodTable :: get (get_api ()) . get_shortcut ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: input_event :: InputEvent , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns `true` if the shortcut's [InputEvent] equals `event`."] # [doc = ""] # [inline] pub fn is_shortcut (& self , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ShortCutMethodTable :: get (get_api ()) . is_shortcut ; let ret = crate :: icalls :: icallptr_bool_obj (method_bind , self . this . sys () . as_ptr () , event . as_arg_ptr ()) ; ret as _ } } # [doc = "If `true`, this shortcut is valid."] # [doc = ""] # [inline] pub fn is_valid (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ShortCutMethodTable :: get (get_api ()) . is_valid ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The shortcut's [InputEvent].\nGenerally the [InputEvent] is a keyboard key, though it can be any [InputEvent]."] # [doc = ""] # [inline] pub fn set_shortcut (& self , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ShortCutMethodTable :: get (get_api ()) . set_shortcut ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , event . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ShortCut { } unsafe impl GodotObject for ShortCut { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "ShortCut" } } impl std :: ops :: Deref for ShortCut { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ShortCut { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for ShortCut { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for ShortCut { } unsafe impl SubClass < crate :: generated :: object :: Object > for ShortCut { } impl Instanciable for ShortCut { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ShortCut :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ShortCutMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_as_text : * mut sys :: godot_method_bind , pub get_shortcut : * mut sys :: godot_method_bind , pub is_shortcut : * mut sys :: godot_method_bind , pub is_valid : * mut sys :: godot_method_bind , pub set_shortcut : * mut sys :: godot_method_bind } impl ShortCutMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ShortCutMethodTable = ShortCutMethodTable { class_constructor : None , get_as_text : 0 as * mut sys :: godot_method_bind , get_shortcut : 0 as * mut sys :: godot_method_bind , is_shortcut : 0 as * mut sys :: godot_method_bind , is_valid : 0 as * mut sys :: godot_method_bind , set_shortcut : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ShortCutMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ShortCut\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_as_text = (gd_api . godot_method_bind_get_method) (class_name , "get_as_text\0" . as_ptr () as * const c_char) ; table . get_shortcut = (gd_api . godot_method_bind_get_method) (class_name , "get_shortcut\0" . as_ptr () as * const c_char) ; table . is_shortcut = (gd_api . godot_method_bind_get_method) (class_name , "is_shortcut\0" . as_ptr () as * const c_char) ; table . is_valid = (gd_api . godot_method_bind_get_method) (class_name , "is_valid\0" . as_ptr () as * const c_char) ; table . set_shortcut = (gd_api . godot_method_bind_get_method) (class_name , "set_shortcut\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:856:4707
[INFO] [stdout]     |
[INFO] [stdout] 856 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 856 |                 # [doc = "`core class VBoxContainer` inherits `BoxContainer` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_vboxcontainer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`VBoxContainer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<VBoxContainer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nVBoxContainer inherits methods from:\n - [BoxContainer](struct.BoxContainer.html)\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VBoxContainer { this : RawObject < Self > , } impl VBoxContainer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VBoxContainerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VBoxContainer { } unsafe impl GodotObject for VBoxContainer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "VBoxContainer" } } impl QueueFree for VBoxContainer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for VBoxContainer { type Target = crate :: generated :: box_container :: BoxContainer ; # [inline] fn deref (& self) -> & crate :: generated :: box_container :: BoxContainer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VBoxContainer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: box_container :: BoxContainer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: box_container :: BoxContainer > for VBoxContainer { } unsafe impl SubClass < crate :: generated :: container :: Container > for VBoxContainer { } unsafe impl SubClass < crate :: generated :: control :: Control > for VBoxContainer { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for VBoxContainer { } unsafe impl SubClass < crate :: generated :: node :: Node > for VBoxContainer { } unsafe impl SubClass < crate :: generated :: object :: Object > for VBoxContainer { } impl Instanciable for VBoxContainer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VBoxContainer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VBoxContainerMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VBoxContainerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VBoxContainerMethodTable = VBoxContainerMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VBoxContainerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VBoxContainer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:118:18076
[INFO] [stdout]     |
[INFO] [stdout] 118 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 # [doc = "`core class RayCast` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_raycast.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`RayCast` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<RayCast>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nRayCast inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct RayCast { this : RawObject < Self > , } impl RayCast { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = RayCastMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a collision exception so the ray does not report collisions with the specified node."] # [doc = ""] # [inline] pub fn add_exception (& self , node : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . add_exception ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Adds a collision exception so the ray does not report collisions with the specified [RID]."] # [doc = ""] # [inline] pub fn add_exception_rid (& self , rid : Rid) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . add_exception_rid ; let ret = crate :: icalls :: icallptr_void_rid (method_bind , self . this . sys () . as_ptr () , rid) ; } } # [doc = "Removes all collision exceptions for this ray."] # [doc = ""] # [inline] pub fn clear_exceptions (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . clear_exceptions ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Updates the collision information for the ray.\nUse this method to update the collision information immediately instead of waiting for the next `_physics_process` call, for example if the ray or its parent has changed state.\n**Note:** `enabled` is not required for this to work."] # [doc = ""] # [inline] pub fn force_raycast_update (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . force_raycast_update ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "The ray's destination point, relative to the RayCast's `position`."] # [doc = ""] # [inline] pub fn cast_to (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_cast_to ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the first object that the ray intersects, or `null` if no object is intersecting the ray (i.e. [method is_colliding] returns `false`)."] # [doc = ""] # [inline] pub fn get_collider (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collider ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the shape ID of the first object that the ray intersects, or `0` if no object is intersecting the ray (i.e. [method is_colliding] returns `false`)."] # [doc = ""] # [inline] pub fn get_collider_shape (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collider_shape ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` if the bit index passed is turned on.\n**Note:** Bit indices range from 0-19."] # [doc = ""] # [inline] pub fn get_collision_mask_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_mask_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = "Returns the normal of the intersecting object's shape at the collision point."] # [doc = ""] # [inline] pub fn get_collision_normal (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_normal ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the collision point at which the ray intersects the closest object.\n**Note:** This point is in the **global** coordinate system."] # [doc = ""] # [inline] pub fn get_collision_point (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_collision_point ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "If `true`, collisions will be ignored for this RayCast's immediate parent."] # [doc = ""] # [inline] pub fn exclude_parent_body (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . get_exclude_parent_body ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, collision with [Area]s will be reported."] # [doc = ""] # [inline] pub fn is_collide_with_areas_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_collide_with_areas_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, collision with [PhysicsBody]s will be reported."] # [doc = ""] # [inline] pub fn is_collide_with_bodies_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_collide_with_bodies_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns whether any object is intersecting with the ray's vector (considering the vector length)."] # [doc = ""] # [inline] pub fn is_colliding (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_colliding ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, collisions will be reported."] # [doc = ""] # [inline] pub fn is_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . is_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Removes a collision exception so the ray does report collisions with the specified node."] # [doc = ""] # [inline] pub fn remove_exception (& self , node : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . remove_exception ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , node . as_arg_ptr ()) ; } } # [doc = "Removes a collision exception so the ray does report collisions with the specified [RID]."] # [doc = ""] # [inline] pub fn remove_exception_rid (& self , rid : Rid) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . remove_exception_rid ; let ret = crate :: icalls :: icallptr_void_rid (method_bind , self . this . sys () . as_ptr () , rid) ; } } # [doc = "The ray's destination point, relative to the RayCast's `position`."] # [doc = ""] # [inline] pub fn set_cast_to (& self , local_point : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_cast_to ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , local_point) ; } } # [doc = "If `true`, collision with [Area]s will be reported."] # [doc = ""] # [inline] pub fn set_collide_with_areas (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collide_with_areas ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "If `true`, collision with [PhysicsBody]s will be reported."] # [doc = ""] # [inline] pub fn set_collide_with_bodies (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collide_with_bodies ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_mask (& self , mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collision_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mask) ; } } # [doc = "Sets the bit index passed to the `value` passed.\n**Note:** Bit indexes range from 0-19."] # [doc = ""] # [inline] pub fn set_collision_mask_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_collision_mask_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = "If `true`, collisions will be reported."] # [doc = ""] # [inline] pub fn set_enabled (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "If `true`, collisions will be ignored for this RayCast's immediate parent."] # [doc = ""] # [inline] pub fn set_exclude_parent_body (& self , mask : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = RayCastMethodTable :: get (get_api ()) . set_exclude_parent_body ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , mask) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for RayCast { } unsafe impl GodotObject for RayCast { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "RayCast" } } impl QueueFree for RayCast { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for RayCast { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for RayCast { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for RayCast { } unsafe impl SubClass < crate :: generated :: node :: Node > for RayCast { } unsafe impl SubClass < crate :: generated :: object :: Object > for RayCast { } impl Instanciable for RayCast { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { RayCast :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct RayCastMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_exception : * mut sys :: godot_method_bind , pub add_exception_rid : * mut sys :: godot_method_bind , pub clear_exceptions : * mut sys :: godot_method_bind , pub force_raycast_update : * mut sys :: godot_method_bind , pub get_cast_to : * mut sys :: godot_method_bind , pub get_collider : * mut sys :: godot_method_bind , pub get_collider_shape : * mut sys :: godot_method_bind , pub get_collision_mask : * mut sys :: godot_method_bind , pub get_collision_mask_bit : * mut sys :: godot_method_bind , pub get_collision_normal : * mut sys :: godot_method_bind , pub get_collision_point : * mut sys :: godot_method_bind , pub get_exclude_parent_body : * mut sys :: godot_method_bind , pub is_collide_with_areas_enabled : * mut sys :: godot_method_bind , pub is_collide_with_bodies_enabled : * mut sys :: godot_method_bind , pub is_colliding : * mut sys :: godot_method_bind , pub is_enabled : * mut sys :: godot_method_bind , pub remove_exception : * mut sys :: godot_method_bind , pub remove_exception_rid : * mut sys :: godot_method_bind , pub set_cast_to : * mut sys :: godot_method_bind , pub set_collide_with_areas : * mut sys :: godot_method_bind , pub set_collide_with_bodies : * mut sys :: godot_method_bind , pub set_collision_mask : * mut sys :: godot_method_bind , pub set_collision_mask_bit : * mut sys :: godot_method_bind , pub set_enabled : * mut sys :: godot_method_bind , pub set_exclude_parent_body : * mut sys :: godot_method_bind } impl RayCastMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : RayCastMethodTable = RayCastMethodTable { class_constructor : None , add_exception : 0 as * mut sys :: godot_method_bind , add_exception_rid : 0 as * mut sys :: godot_method_bind , clear_exceptions : 0 as * mut sys :: godot_method_bind , force_raycast_update : 0 as * mut sys :: godot_method_bind , get_cast_to : 0 as * mut sys :: godot_method_bind , get_collider : 0 as * mut sys :: godot_method_bind , get_collider_shape : 0 as * mut sys :: godot_method_bind , get_collision_mask : 0 as * mut sys :: godot_method_bind , get_collision_mask_bit : 0 as * mut sys :: godot_method_bind , get_collision_normal : 0 as * mut sys :: godot_method_bind , get_collision_point : 0 as * mut sys :: godot_method_bind , get_exclude_parent_body : 0 as * mut sys :: godot_method_bind , is_collide_with_areas_enabled : 0 as * mut sys :: godot_method_bind , is_collide_with_bodies_enabled : 0 as * mut sys :: godot_method_bind , is_colliding : 0 as * mut sys :: godot_method_bind , is_enabled : 0 as * mut sys :: godot_method_bind , remove_exception : 0 as * mut sys :: godot_method_bind , remove_exception_rid : 0 as * mut sys :: godot_method_bind , set_cast_to : 0 as * mut sys :: godot_method_bind , set_collide_with_areas : 0 as * mut sys :: godot_method_bind , set_collide_with_bodies : 0 as * mut sys :: godot_method_bind , set_collision_mask : 0 as * mut sys :: godot_method_bind , set_collision_mask_bit : 0 as * mut sys :: godot_method_bind , set_enabled : 0 as * mut sys :: godot_method_bind , set_exclude_parent_body : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { RayCastMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "RayCast\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_exception = (gd_api . godot_method_bind_get_method) (class_name , "add_exception\0" . as_ptr () as * const c_char) ; table . add_exception_rid = (gd_api . godot_method_bind_get_method) (class_name , "add_exception_rid\0" . as_ptr () as * const c_char) ; table . clear_exceptions = (gd_api . godot_method_bind_get_method) (class_name , "clear_exceptions\0" . as_ptr () as * const c_char) ; table . force_raycast_update = (gd_api . godot_method_bind_get_method) (class_name , "force_raycast_update\0" . as_ptr () as * const c_char) ; table . get_cast_to = (gd_api . godot_method_bind_get_method) (class_name , "get_cast_to\0" . as_ptr () as * const c_char) ; table . get_collider = (gd_api . godot_method_bind_get_method) (class_name , "get_collider\0" . as_ptr () as * const c_char) ; table . get_collider_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape\0" . as_ptr () as * const c_char) ; table . get_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask\0" . as_ptr () as * const c_char) ; table . get_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . get_collision_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_normal\0" . as_ptr () as * const c_char) ; table . get_collision_point = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_point\0" . as_ptr () as * const c_char) ; table . get_exclude_parent_body = (gd_api . godot_method_bind_get_method) (class_name , "get_exclude_parent_body\0" . as_ptr () as * const c_char) ; table . is_collide_with_areas_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_areas_enabled\0" . as_ptr () as * const c_char) ; table . is_collide_with_bodies_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_collide_with_bodies_enabled\0" . as_ptr () as * const c_char) ; table . is_colliding = (gd_api . godot_method_bind_get_method) (class_name , "is_colliding\0" . as_ptr () as * const c_char) ; table . is_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_enabled\0" . as_ptr () as * const c_char) ; table . remove_exception = (gd_api . godot_method_bind_get_method) (class_name , "remove_exception\0" . as_ptr () as * const c_char) ; table . remove_exception_rid = (gd_api . godot_method_bind_get_method) (class_name , "remove_exception_rid\0" . as_ptr () as * const c_char) ; table . set_cast_to = (gd_api . godot_method_bind_get_method) (class_name , "set_cast_to\0" . as_ptr () as * const c_char) ; table . set_collide_with_areas = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_areas\0" . as_ptr () as * const c_char) ; table . set_collide_with_bodies = (gd_api . godot_method_bind_get_method) (class_name , "set_collide_with_bodies\0" . as_ptr () as * const c_char) ; table . set_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask\0" . as_ptr () as * const c_char) ; table . set_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . set_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_enabled\0" . as_ptr () as * const c_char) ; table . set_exclude_parent_body = (gd_api . godot_method_bind_get_method) (class_name , "set_exclude_parent_body\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:862:5487
[INFO] [stdout]     |
[INFO] [stdout] 862 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 862 |                 # [doc = "`core class VisualScriptLocalVarSet` inherits `VisualScriptNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscriptlocalvarset.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScriptLocalVarSet inherits methods from:\n - [VisualScriptNode](struct.VisualScriptNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScriptLocalVarSet { this : RawObject < Self > , } impl VisualScriptLocalVarSet { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptLocalVarSetMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn var_name (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarSetMethodTable :: get (get_api ()) . get_var_name ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn var_type (& self) -> VariantType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarSetMethodTable :: get (get_api ()) . get_var_type ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; VariantType :: from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_var_name (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarSetMethodTable :: get (get_api ()) . set_var_name ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_var_type (& self , _type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptLocalVarSetMethodTable :: get (get_api ()) . set_var_type ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , _type) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScriptLocalVarSet { } unsafe impl GodotObject for VisualScriptLocalVarSet { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScriptLocalVarSet" } } impl std :: ops :: Deref for VisualScriptLocalVarSet { type Target = crate :: generated :: visual_script_node :: VisualScriptNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScriptLocalVarSet { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_script_node :: VisualScriptNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_script_node :: VisualScriptNode > for VisualScriptLocalVarSet { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScriptLocalVarSet { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScriptLocalVarSet { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScriptLocalVarSet { } impl Instanciable for VisualScriptLocalVarSet { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScriptLocalVarSet :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptLocalVarSetMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_var_name : * mut sys :: godot_method_bind , pub get_var_type : * mut sys :: godot_method_bind , pub set_var_name : * mut sys :: godot_method_bind , pub set_var_type : * mut sys :: godot_method_bind } impl VisualScriptLocalVarSetMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptLocalVarSetMethodTable = VisualScriptLocalVarSetMethodTable { class_constructor : None , get_var_name : 0 as * mut sys :: godot_method_bind , get_var_type : 0 as * mut sys :: godot_method_bind , set_var_name : 0 as * mut sys :: godot_method_bind , set_var_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptLocalVarSetMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScriptLocalVarSet\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_var_name = (gd_api . godot_method_bind_get_method) (class_name , "get_var_name\0" . as_ptr () as * const c_char) ; table . get_var_type = (gd_api . godot_method_bind_get_method) (class_name , "get_var_type\0" . as_ptr () as * const c_char) ; table . set_var_name = (gd_api . godot_method_bind_get_method) (class_name , "set_var_name\0" . as_ptr () as * const c_char) ; table . set_var_type = (gd_api . godot_method_bind_get_method) (class_name , "set_var_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:124:3071
[INFO] [stdout]     |
[INFO] [stdout] 124 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 # [doc = "`core class JavaClass` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_javaclass.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nJavaClass inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct JavaClass { this : RawObject < Self > , } impl JavaClass { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = JavaClassMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for JavaClass { } unsafe impl GodotObject for JavaClass { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "JavaClass" } } impl std :: ops :: Deref for JavaClass { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for JavaClass { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for JavaClass { } unsafe impl SubClass < crate :: generated :: object :: Object > for JavaClass { } impl Instanciable for JavaClass { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { JavaClass :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct JavaClassMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl JavaClassMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : JavaClassMethodTable = JavaClassMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { JavaClassMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "JavaClass\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:868:4512
[INFO] [stdout]     |
[INFO] [stdout] 868 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 868 |                 # [doc = "`core class CheckBox` inherits `Button` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_checkbox.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`CheckBox` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<CheckBox>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nCheckBox inherits methods from:\n - [Button](struct.Button.html)\n - [BaseButton](struct.BaseButton.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CheckBox { this : RawObject < Self > , } impl CheckBox { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CheckBoxMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for CheckBox { } unsafe impl GodotObject for CheckBox { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "CheckBox" } } impl QueueFree for CheckBox { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for CheckBox { type Target = crate :: generated :: button :: Button ; # [inline] fn deref (& self) -> & crate :: generated :: button :: Button { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CheckBox { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: button :: Button { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: button :: Button > for CheckBox { } unsafe impl SubClass < crate :: generated :: base_button :: BaseButton > for CheckBox { } unsafe impl SubClass < crate :: generated :: control :: Control > for CheckBox { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for CheckBox { } unsafe impl SubClass < crate :: generated :: node :: Node > for CheckBox { } unsafe impl SubClass < crate :: generated :: object :: Object > for CheckBox { } impl Instanciable for CheckBox { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CheckBox :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CheckBoxMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl CheckBoxMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CheckBoxMethodTable = CheckBoxMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CheckBoxMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CheckBox\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:874:5753
[INFO] [stdout]     |
[INFO] [stdout] 874 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 874 |                 # [doc = "`core class VisualShaderNodeTransformVecMult` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodetransformvecmult.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeTransformVecMult inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeTransformVecMult { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Operator (pub i64) ; impl Operator { pub const AXB : Operator = Operator (0i64) ; pub const BXA : Operator = Operator (1i64) ; pub const _3X3_AXB : Operator = Operator (2i64) ; pub const _3X3_BXA : Operator = Operator (3i64) ; } impl From < i64 > for Operator { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Operator > for i64 { # [inline] fn from (v : Operator) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShaderNodeTransformVecMult { pub const OP_3x3_AxB : i64 = 2i64 ; pub const OP_3x3_BxA : i64 = 3i64 ; pub const OP_AxB : i64 = 0i64 ; pub const OP_BxA : i64 = 1i64 ; } impl VisualShaderNodeTransformVecMult { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeTransformVecMultMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The multiplication type to be performed. See [enum Operator] for options."] # [doc = ""] # [inline] pub fn operator (& self) -> crate :: generated :: visual_shader_node_transform_vec_mult :: Operator { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeTransformVecMultMethodTable :: get (get_api ()) . get_operator ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_transform_vec_mult :: Operator (ret) } } # [doc = "The multiplication type to be performed. See [enum Operator] for options."] # [doc = ""] # [inline] pub fn set_operator (& self , op : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeTransformVecMultMethodTable :: get (get_api ()) . set_operator ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , op) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeTransformVecMult { } unsafe impl GodotObject for VisualShaderNodeTransformVecMult { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeTransformVecMult" } } impl std :: ops :: Deref for VisualShaderNodeTransformVecMult { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeTransformVecMult { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeTransformVecMult { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeTransformVecMult { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeTransformVecMult { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeTransformVecMult { } impl Instanciable for VisualShaderNodeTransformVecMult { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeTransformVecMult :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeTransformVecMultMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_operator : * mut sys :: godot_method_bind , pub set_operator : * mut sys :: godot_method_bind } impl VisualShaderNodeTransformVecMultMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeTransformVecMultMethodTable = VisualShaderNodeTransformVecMultMethodTable { class_constructor : None , get_operator : 0 as * mut sys :: godot_method_bind , set_operator : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeTransformVecMultMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeTransformVecMult\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_operator = (gd_api . godot_method_bind_get_method) (class_name , "get_operator\0" . as_ptr () as * const c_char) ; table . set_operator = (gd_api . godot_method_bind_get_method) (class_name , "set_operator\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:130:13664
[INFO] [stdout]     |
[INFO] [stdout] 130 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 # [doc = "`core class PathFollow` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_pathfollow.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`PathFollow` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<PathFollow>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPathFollow inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PathFollow { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct RotationMode (pub i64) ; impl RotationMode { pub const NONE : RotationMode = RotationMode (0i64) ; pub const Y : RotationMode = RotationMode (1i64) ; pub const XY : RotationMode = RotationMode (2i64) ; pub const XYZ : RotationMode = RotationMode (3i64) ; pub const ORIENTED : RotationMode = RotationMode (4i64) ; } impl From < i64 > for RotationMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < RotationMode > for i64 { # [inline] fn from (v : RotationMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl PathFollow { pub const ROTATION_NONE : i64 = 0i64 ; pub const ROTATION_ORIENTED : i64 = 4i64 ; pub const ROTATION_XY : i64 = 2i64 ; pub const ROTATION_XYZ : i64 = 3i64 ; pub const ROTATION_Y : i64 = 1i64 ; } impl PathFollow { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PathFollowMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn cubic_interpolation (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_cubic_interpolation ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn h_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_h_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path."] # [doc = ""] # [inline] pub fn offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Allows or forbids rotation on one or more axes, depending on the [enum RotationMode] constants being used."] # [doc = ""] # [inline] pub fn rotation_mode (& self) -> crate :: generated :: path_follow :: RotationMode { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_rotation_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: path_follow :: RotationMode (ret) } } # [doc = "The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn unit_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_unit_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn v_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . get_v_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn has_loop (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . has_loop ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn set_cubic_interpolation (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_cubic_interpolation ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn set_h_offset (& self , h_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_h_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , h_offset) ; } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn set_loop (& self , _loop : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_loop ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , _loop) ; } } # [doc = "The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path."] # [doc = ""] # [inline] pub fn set_offset (& self , offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "Allows or forbids rotation on one or more axes, depending on the [enum RotationMode] constants being used."] # [doc = ""] # [inline] pub fn set_rotation_mode (& self , rotation_mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_rotation_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , rotation_mode) ; } } # [doc = "The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn set_unit_offset (& self , unit_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_unit_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , unit_offset) ; } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn set_v_offset (& self , v_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollowMethodTable :: get (get_api ()) . set_v_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , v_offset) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PathFollow { } unsafe impl GodotObject for PathFollow { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "PathFollow" } } impl QueueFree for PathFollow { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for PathFollow { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PathFollow { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for PathFollow { } unsafe impl SubClass < crate :: generated :: node :: Node > for PathFollow { } unsafe impl SubClass < crate :: generated :: object :: Object > for PathFollow { } impl Instanciable for PathFollow { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PathFollow :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PathFollowMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cubic_interpolation : * mut sys :: godot_method_bind , pub get_h_offset : * mut sys :: godot_method_bind , pub get_offset : * mut sys :: godot_method_bind , pub get_rotation_mode : * mut sys :: godot_method_bind , pub get_unit_offset : * mut sys :: godot_method_bind , pub get_v_offset : * mut sys :: godot_method_bind , pub has_loop : * mut sys :: godot_method_bind , pub set_cubic_interpolation : * mut sys :: godot_method_bind , pub set_h_offset : * mut sys :: godot_method_bind , pub set_loop : * mut sys :: godot_method_bind , pub set_offset : * mut sys :: godot_method_bind , pub set_rotation_mode : * mut sys :: godot_method_bind , pub set_unit_offset : * mut sys :: godot_method_bind , pub set_v_offset : * mut sys :: godot_method_bind } impl PathFollowMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PathFollowMethodTable = PathFollowMethodTable { class_constructor : None , get_cubic_interpolation : 0 as * mut sys :: godot_method_bind , get_h_offset : 0 as * mut sys :: godot_method_bind , get_offset : 0 as * mut sys :: godot_method_bind , get_rotation_mode : 0 as * mut sys :: godot_method_bind , get_unit_offset : 0 as * mut sys :: godot_method_bind , get_v_offset : 0 as * mut sys :: godot_method_bind , has_loop : 0 as * mut sys :: godot_method_bind , set_cubic_interpolation : 0 as * mut sys :: godot_method_bind , set_h_offset : 0 as * mut sys :: godot_method_bind , set_loop : 0 as * mut sys :: godot_method_bind , set_offset : 0 as * mut sys :: godot_method_bind , set_rotation_mode : 0 as * mut sys :: godot_method_bind , set_unit_offset : 0 as * mut sys :: godot_method_bind , set_v_offset : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PathFollowMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PathFollow\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "get_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . get_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_h_offset\0" . as_ptr () as * const c_char) ; table . get_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_offset\0" . as_ptr () as * const c_char) ; table . get_rotation_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_rotation_mode\0" . as_ptr () as * const c_char) ; table . get_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_unit_offset\0" . as_ptr () as * const c_char) ; table . get_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_v_offset\0" . as_ptr () as * const c_char) ; table . has_loop = (gd_api . godot_method_bind_get_method) (class_name , "has_loop\0" . as_ptr () as * const c_char) ; table . set_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "set_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . set_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_h_offset\0" . as_ptr () as * const c_char) ; table . set_loop = (gd_api . godot_method_bind_get_method) (class_name , "set_loop\0" . as_ptr () as * const c_char) ; table . set_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_offset\0" . as_ptr () as * const c_char) ; table . set_rotation_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_rotation_mode\0" . as_ptr () as * const c_char) ; table . set_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_unit_offset\0" . as_ptr () as * const c_char) ; table . set_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_v_offset\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:880:5083
[INFO] [stdout]     |
[INFO] [stdout] 880 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 880 |                 # [doc = "`core class World2D` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_world2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWorld2D inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct World2D { this : RawObject < Self > , } impl World2D { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = World2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [RID] of this world's canvas resource. Used by the [VisualServer] for 2D drawing."] # [doc = ""] # [inline] pub fn canvas (& self) -> Rid { unsafe { let method_bind : * mut sys :: godot_method_bind = World2DMethodTable :: get (get_api ()) . get_canvas ; let ret = crate :: icalls :: icallptr_rid (method_bind , self . this . sys () . as_ptr ()) ; Rid :: from_sys (ret) } } # [doc = "Direct access to the world's physics 2D space state. Used for querying current and potential collisions. Must only be accessed from the main thread within `_physics_process(delta)`."] # [doc = ""] # [inline] pub fn direct_space_state (& self) -> Option < Ref < crate :: generated :: physics_2d_direct_space_state :: Physics2DDirectSpaceState , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = World2DMethodTable :: get (get_api ()) . get_direct_space_state ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: physics_2d_direct_space_state :: Physics2DDirectSpaceState , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [RID] of this world's physics space resource. Used by the [Physics2DServer] for 2D physics, treating it as both a space and an area."] # [doc = ""] # [inline] pub fn space (& self) -> Rid { unsafe { let method_bind : * mut sys :: godot_method_bind = World2DMethodTable :: get (get_api ()) . get_space ; let ret = crate :: icalls :: icallptr_rid (method_bind , self . this . sys () . as_ptr ()) ; Rid :: from_sys (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for World2D { } unsafe impl GodotObject for World2D { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "World2D" } } impl std :: ops :: Deref for World2D { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for World2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for World2D { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for World2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for World2D { } impl Instanciable for World2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { World2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct World2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_canvas : * mut sys :: godot_method_bind , pub get_direct_space_state : * mut sys :: godot_method_bind , pub get_space : * mut sys :: godot_method_bind } impl World2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : World2DMethodTable = World2DMethodTable { class_constructor : None , get_canvas : 0 as * mut sys :: godot_method_bind , get_direct_space_state : 0 as * mut sys :: godot_method_bind , get_space : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { World2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "World2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_canvas = (gd_api . godot_method_bind_get_method) (class_name , "get_canvas\0" . as_ptr () as * const c_char) ; table . get_direct_space_state = (gd_api . godot_method_bind_get_method) (class_name , "get_direct_space_state\0" . as_ptr () as * const c_char) ; table . get_space = (gd_api . godot_method_bind_get_method) (class_name , "get_space\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:886:5720
[INFO] [stdout]     |
[INFO] [stdout] 886 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 886 |                 # [doc = "`core class VisualShaderNodeVectorDerivativeFunc` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodevectorderivativefunc.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeVectorDerivativeFunc inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeVectorDerivativeFunc { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Function (pub i64) ; impl Function { pub const SUM : Function = Function (0i64) ; pub const X : Function = Function (1i64) ; pub const Y : Function = Function (2i64) ; } impl From < i64 > for Function { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Function > for i64 { # [inline] fn from (v : Function) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl VisualShaderNodeVectorDerivativeFunc { pub const FUNC_SUM : i64 = 0i64 ; pub const FUNC_X : i64 = 1i64 ; pub const FUNC_Y : i64 = 2i64 ; } impl VisualShaderNodeVectorDerivativeFunc { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeVectorDerivativeFuncMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "A derivative type. See [enum Function] for options."] # [doc = ""] # [inline] pub fn function (& self) -> crate :: generated :: visual_shader_node_vector_derivative_func :: Function { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeVectorDerivativeFuncMethodTable :: get (get_api ()) . get_function ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: visual_shader_node_vector_derivative_func :: Function (ret) } } # [doc = "A derivative type. See [enum Function] for options."] # [doc = ""] # [inline] pub fn set_function (& self , func : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualShaderNodeVectorDerivativeFuncMethodTable :: get (get_api ()) . set_function ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , func) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeVectorDerivativeFunc { } unsafe impl GodotObject for VisualShaderNodeVectorDerivativeFunc { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeVectorDerivativeFunc" } } impl std :: ops :: Deref for VisualShaderNodeVectorDerivativeFunc { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeVectorDerivativeFunc { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeVectorDerivativeFunc { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeVectorDerivativeFunc { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeVectorDerivativeFunc { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeVectorDerivativeFunc { } impl Instanciable for VisualShaderNodeVectorDerivativeFunc { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeVectorDerivativeFunc :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeVectorDerivativeFuncMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_function : * mut sys :: godot_method_bind , pub set_function : * mut sys :: godot_method_bind } impl VisualShaderNodeVectorDerivativeFuncMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeVectorDerivativeFuncMethodTable = VisualShaderNodeVectorDerivativeFuncMethodTable { class_constructor : None , get_function : 0 as * mut sys :: godot_method_bind , set_function : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeVectorDerivativeFuncMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeVectorDerivativeFunc\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_function = (gd_api . godot_method_bind_get_method) (class_name , "get_function\0" . as_ptr () as * const c_char) ; table . set_function = (gd_api . godot_method_bind_get_method) (class_name , "set_function\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:892:3599
[INFO] [stdout]     |
[INFO] [stdout] 892 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 892 |                 # [doc = "`core class AudioStreamMicrophone` inherits `AudioStream` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audiostreammicrophone.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioStreamMicrophone inherits methods from:\n - [AudioStream](struct.AudioStream.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioStreamMicrophone { this : RawObject < Self > , } impl AudioStreamMicrophone { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioStreamMicrophoneMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioStreamMicrophone { } unsafe impl GodotObject for AudioStreamMicrophone { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioStreamMicrophone" } } impl std :: ops :: Deref for AudioStreamMicrophone { type Target = crate :: generated :: audio_stream :: AudioStream ; # [inline] fn deref (& self) -> & crate :: generated :: audio_stream :: AudioStream { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioStreamMicrophone { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_stream :: AudioStream { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_stream :: AudioStream > for AudioStreamMicrophone { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioStreamMicrophone { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioStreamMicrophone { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioStreamMicrophone { } impl Instanciable for AudioStreamMicrophone { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioStreamMicrophone :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioStreamMicrophoneMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AudioStreamMicrophoneMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioStreamMicrophoneMethodTable = AudioStreamMicrophoneMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioStreamMicrophoneMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioStreamMicrophone\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:142:15548
[INFO] [stdout]     |
[INFO] [stdout] 142 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 # [doc = "`core singleton class ARVRServer` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrserver.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nARVRServer inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVRServer { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct RotationMode (pub i64) ; impl RotationMode { pub const RESET_FULL_ROTATION : RotationMode = RotationMode (0i64) ; pub const RESET_BUT_KEEP_TILT : RotationMode = RotationMode (1i64) ; pub const DONT_RESET_ROTATION : RotationMode = RotationMode (2i64) ; } impl From < i64 > for RotationMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < RotationMode > for i64 { # [inline] fn from (v : RotationMode) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TrackerType (pub i64) ; impl TrackerType { pub const CONTROLLER : TrackerType = TrackerType (1i64) ; pub const BASESTATION : TrackerType = TrackerType (2i64) ; pub const ANCHOR : TrackerType = TrackerType (4i64) ; pub const ANY_KNOWN : TrackerType = TrackerType (127i64) ; pub const UNKNOWN : TrackerType = TrackerType (128i64) ; pub const ANY : TrackerType = TrackerType (255i64) ; } impl From < i64 > for TrackerType { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TrackerType > for i64 { # [inline] fn from (v : TrackerType) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl ARVRServer { pub const DONT_RESET_ROTATION : i64 = 2i64 ; pub const RESET_BUT_KEEP_TILT : i64 = 1i64 ; pub const RESET_FULL_ROTATION : i64 = 0i64 ; pub const TRACKER_ANCHOR : i64 = 4i64 ; pub const TRACKER_ANY : i64 = 255i64 ; pub const TRACKER_ANY_KNOWN : i64 = 127i64 ; pub const TRACKER_BASESTATION : i64 = 2i64 ; pub const TRACKER_CONTROLLER : i64 = 1i64 ; pub const TRACKER_UNKNOWN : i64 = 128i64 ; } impl ARVRServer { # [doc = "Returns a reference to the singleton instance."] # [inline] pub fn godot_singleton () -> & 'static Self { unsafe { let this = (get_api () . godot_global_get_singleton) ("ARVRServer\0" . as_ptr () as * mut _) ; let this = ptr :: NonNull :: new (this) . expect ("singleton should not be null") ; let this = RawObject :: from_sys_ref_unchecked :: < 'static > (this) ; Self :: cast_ref (this) } } # [doc = "This is an important function to understand correctly. AR and VR platforms all handle positioning slightly differently.\nFor platforms that do not offer spatial tracking, our origin point (0,0,0) is the location of our HMD, but you have little control over the direction the player is facing in the real world.\nFor platforms that do offer spatial tracking, our origin point depends very much on the system. For OpenVR, our origin point is usually the center of the tracking space, on the ground. For other platforms, it's often the location of the tracking camera.\nThis method allows you to center your tracker on the location of the HMD. It will take the current location of the HMD and use that to adjust all your tracking data; in essence, realigning the real world to your player's current position in the game world.\nFor this method to produce usable results, tracking information must be available. This often takes a few frames after starting your game.\nYou should call this method after a few seconds have passed. For instance, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism."] # [doc = ""] # [inline] pub fn center_on_hmd (& self , rotation_mode : i64 , keep_height : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . center_on_hmd ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , rotation_mode , keep_height) ; } } # [doc = "Finds an interface by its name. For instance, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it."] # [doc = ""] # [inline] pub fn find_interface (& self , name : impl Into < GodotString >) -> Option < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . find_interface ; let ret = crate :: icalls :: icallptr_obj_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the primary interface's transformation."] # [doc = ""] # [inline] pub fn get_hmd_transform (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_hmd_transform ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the interface registered at a given index in our list of interfaces."] # [doc = ""] # [inline] pub fn get_interface (& self , idx : i64) -> Option < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_interface ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of interfaces currently registered with the AR/VR server. If your project supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try to initialize each interface and use the first one that returns `true`."] # [doc = ""] # [inline] pub fn get_interface_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_interface_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns a list of available interfaces the ID and name of each interface."] # [doc = ""] # [inline] pub fn get_interfaces (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_interfaces ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns the absolute timestamp (in μs) of the last [ARVRServer] commit of the AR/VR eyes to [VisualServer]. The value comes from an internal call to [method OS.get_ticks_usec]."] # [doc = ""] # [inline] pub fn get_last_commit_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_last_commit_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the duration (in μs) of the last frame. This is computed as the difference between [method get_last_commit_usec] and [method get_last_process_usec] when committing."] # [doc = ""] # [inline] pub fn get_last_frame_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_last_frame_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the absolute timestamp (in μs) of the last [ARVRServer] process callback. The value comes from an internal call to [method OS.get_ticks_usec]."] # [doc = ""] # [inline] pub fn get_last_process_usec (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_last_process_usec ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The primary [ARVRInterface] currently bound to the [ARVRServer]."] # [doc = ""] # [inline] pub fn primary_interface (& self) -> Option < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_primary_interface ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_interface :: ARVRInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the reference frame transform. Mostly used internally and exposed for GDNative build interfaces."] # [doc = ""] # [inline] pub fn get_reference_frame (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_reference_frame ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Returns the positional tracker at the given ID."] # [doc = ""] # [inline] pub fn get_tracker (& self , idx : i64) -> Option < Ref < crate :: generated :: arvr_positional_tracker :: ARVRPositionalTracker , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_tracker ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_positional_tracker :: ARVRPositionalTracker , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of trackers currently registered."] # [doc = ""] # [inline] pub fn get_tracker_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_tracker_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter."] # [doc = ""] # [inline] pub fn world_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . get_world_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The primary [ARVRInterface] currently bound to the [ARVRServer]."] # [doc = ""] # [inline] pub fn set_primary_interface (& self , interface : impl AsArg < crate :: generated :: arvr_interface :: ARVRInterface >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . set_primary_interface ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , interface . as_arg_ptr ()) ; } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter."] # [doc = ""] # [inline] pub fn set_world_scale (& self , arg0 : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVRServerMethodTable :: get (get_api ()) . set_world_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , arg0) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVRServer { } unsafe impl GodotObject for ARVRServer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVRServer" } } impl std :: ops :: Deref for ARVRServer { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVRServer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVRServer { } unsafe impl Send for ARVRServer { } unsafe impl Sync for ARVRServer { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVRServerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub center_on_hmd : * mut sys :: godot_method_bind , pub find_interface : * mut sys :: godot_method_bind , pub get_hmd_transform : * mut sys :: godot_method_bind , pub get_interface : * mut sys :: godot_method_bind , pub get_interface_count : * mut sys :: godot_method_bind , pub get_interfaces : * mut sys :: godot_method_bind , pub get_last_commit_usec : * mut sys :: godot_method_bind , pub get_last_frame_usec : * mut sys :: godot_method_bind , pub get_last_process_usec : * mut sys :: godot_method_bind , pub get_primary_interface : * mut sys :: godot_method_bind , pub get_reference_frame : * mut sys :: godot_method_bind , pub get_tracker : * mut sys :: godot_method_bind , pub get_tracker_count : * mut sys :: godot_method_bind , pub get_world_scale : * mut sys :: godot_method_bind , pub set_primary_interface : * mut sys :: godot_method_bind , pub set_world_scale : * mut sys :: godot_method_bind } impl ARVRServerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVRServerMethodTable = ARVRServerMethodTable { class_constructor : None , center_on_hmd : 0 as * mut sys :: godot_method_bind , find_interface : 0 as * mut sys :: godot_method_bind , get_hmd_transform : 0 as * mut sys :: godot_method_bind , get_interface : 0 as * mut sys :: godot_method_bind , get_interface_count : 0 as * mut sys :: godot_method_bind , get_interfaces : 0 as * mut sys :: godot_method_bind , get_last_commit_usec : 0 as * mut sys :: godot_method_bind , get_last_frame_usec : 0 as * mut sys :: godot_method_bind , get_last_process_usec : 0 as * mut sys :: godot_method_bind , get_primary_interface : 0 as * mut sys :: godot_method_bind , get_reference_frame : 0 as * mut sys :: godot_method_bind , get_tracker : 0 as * mut sys :: godot_method_bind , get_tracker_count : 0 as * mut sys :: godot_method_bind , get_world_scale : 0 as * mut sys :: godot_method_bind , set_primary_interface : 0 as * mut sys :: godot_method_bind , set_world_scale : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVRServerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVRServer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . center_on_hmd = (gd_api . godot_method_bind_get_method) (class_name , "center_on_hmd\0" . as_ptr () as * const c_char) ; table . find_interface = (gd_api . godot_method_bind_get_method) (class_name , "find_interface\0" . as_ptr () as * const c_char) ; table . get_hmd_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_hmd_transform\0" . as_ptr () as * const c_char) ; table . get_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_interface\0" . as_ptr () as * const c_char) ; table . get_interface_count = (gd_api . godot_method_bind_get_method) (class_name , "get_interface_count\0" . as_ptr () as * const c_char) ; table . get_interfaces = (gd_api . godot_method_bind_get_method) (class_name , "get_interfaces\0" . as_ptr () as * const c_char) ; table . get_last_commit_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_last_commit_usec\0" . as_ptr () as * const c_char) ; table . get_last_frame_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_last_frame_usec\0" . as_ptr () as * const c_char) ; table . get_last_process_usec = (gd_api . godot_method_bind_get_method) (class_name , "get_last_process_usec\0" . as_ptr () as * const c_char) ; table . get_primary_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_primary_interface\0" . as_ptr () as * const c_char) ; table . get_reference_frame = (gd_api . godot_method_bind_get_method) (class_name , "get_reference_frame\0" . as_ptr () as * const c_char) ; table . get_tracker = (gd_api . godot_method_bind_get_method) (class_name , "get_tracker\0" . as_ptr () as * const c_char) ; table . get_tracker_count = (gd_api . godot_method_bind_get_method) (class_name , "get_tracker_count\0" . as_ptr () as * const c_char) ; table . get_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_world_scale\0" . as_ptr () as * const c_char) ; table . set_primary_interface = (gd_api . godot_method_bind_get_method) (class_name , "set_primary_interface\0" . as_ptr () as * const c_char) ; table . set_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_world_scale\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:148:3280
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 # [doc = "`core class ResourceFormatLoader` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_resourceformatloader.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nResourceFormatLoader inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ResourceFormatLoader { this : RawObject < Self > , } impl ResourceFormatLoader { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ResourceFormatLoaderMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for ResourceFormatLoader { } unsafe impl GodotObject for ResourceFormatLoader { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "ResourceFormatLoader" } } impl std :: ops :: Deref for ResourceFormatLoader { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ResourceFormatLoader { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for ResourceFormatLoader { } unsafe impl SubClass < crate :: generated :: object :: Object > for ResourceFormatLoader { } impl Instanciable for ResourceFormatLoader { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ResourceFormatLoader :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ResourceFormatLoaderMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl ResourceFormatLoaderMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ResourceFormatLoaderMethodTable = ResourceFormatLoaderMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ResourceFormatLoaderMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ResourceFormatLoader\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:898:4372
[INFO] [stdout]     |
[INFO] [stdout] 898 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 898 |                 # [doc = "`core class Mutex` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_mutex.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nMutex inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Mutex { this : RawObject < Self > , } impl Mutex { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MutexMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Locks this [Mutex], blocks until it is unlocked by the current owner."] # [doc = ""] # [inline] pub fn lock (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MutexMethodTable :: get (get_api ()) . lock ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Tries locking this [Mutex], but does not block. Returns [constant OK] on success, [constant ERR_BUSY] otherwise."] # [doc = ""] # [inline] pub fn try_lock (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = MutexMethodTable :: get (get_api ()) . try_lock ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Unlocks this [Mutex], leaving it to other threads."] # [doc = ""] # [inline] pub fn unlock (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MutexMethodTable :: get (get_api ()) . unlock ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Mutex { } unsafe impl GodotObject for Mutex { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "Mutex" } } impl std :: ops :: Deref for Mutex { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Mutex { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for Mutex { } unsafe impl SubClass < crate :: generated :: object :: Object > for Mutex { } impl Instanciable for Mutex { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Mutex :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MutexMethodTable { pub class_constructor : sys :: godot_class_constructor , pub lock : * mut sys :: godot_method_bind , pub try_lock : * mut sys :: godot_method_bind , pub unlock : * mut sys :: godot_method_bind } impl MutexMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MutexMethodTable = MutexMethodTable { class_constructor : None , lock : 0 as * mut sys :: godot_method_bind , try_lock : 0 as * mut sys :: godot_method_bind , unlock : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MutexMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "_Mutex\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . lock = (gd_api . godot_method_bind_get_method) (class_name , "lock\0" . as_ptr () as * const c_char) ; table . try_lock = (gd_api . godot_method_bind_get_method) (class_name , "try_lock\0" . as_ptr () as * const c_char) ; table . unlock = (gd_api . godot_method_bind_get_method) (class_name , "unlock\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:154:4116
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 # [doc = "`core class GDScript` inherits `Script` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_gdscript.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nGDScript inherits methods from:\n - [Script](struct.Script.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct GDScript { this : RawObject < Self > , } impl GDScript { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = GDScriptMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_as_byte_code (& self) -> ByteArray { unsafe { let method_bind : * mut sys :: godot_method_bind = GDScriptMethodTable :: get (get_api ()) . get_as_byte_code ; let ret = crate :: icalls :: icallptr_bytearr (method_bind , self . this . sys () . as_ptr ()) ; ByteArray :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn _new (& self , varargs : & [Variant]) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = GDScriptMethodTable :: get (get_api ()) . _new ; let ret = crate :: icalls :: icallvarargs_ (method_bind , self . this . sys () . as_ptr () , varargs) ; ret } } } impl gdnative_core :: private :: godot_object :: Sealed for GDScript { } unsafe impl GodotObject for GDScript { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "GDScript" } } impl std :: ops :: Deref for GDScript { type Target = crate :: generated :: script :: Script ; # [inline] fn deref (& self) -> & crate :: generated :: script :: Script { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for GDScript { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: script :: Script { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: script :: Script > for GDScript { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for GDScript { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for GDScript { } unsafe impl SubClass < crate :: generated :: object :: Object > for GDScript { } impl Instanciable for GDScript { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { GDScript :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct GDScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_as_byte_code : * mut sys :: godot_method_bind , pub _new : * mut sys :: godot_method_bind } impl GDScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : GDScriptMethodTable = GDScriptMethodTable { class_constructor : None , get_as_byte_code : 0 as * mut sys :: godot_method_bind , _new : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { GDScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "GDScript\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_as_byte_code = (gd_api . godot_method_bind_get_method) (class_name , "get_as_byte_code\0" . as_ptr () as * const c_char) ; table . _new = (gd_api . godot_method_bind_get_method) (class_name , "new\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:160:11390
[INFO] [stdout]     |
[INFO] [stdout] 160 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 # [doc = "`core class Button` inherits `BaseButton` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_button.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Button` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Button>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nButton inherits methods from:\n - [BaseButton](struct.BaseButton.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Button { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TextAlign (pub i64) ; impl TextAlign { pub const LEFT : TextAlign = TextAlign (0i64) ; pub const CENTER : TextAlign = TextAlign (1i64) ; pub const RIGHT : TextAlign = TextAlign (2i64) ; } impl From < i64 > for TextAlign { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TextAlign > for i64 { # [inline] fn from (v : TextAlign) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl Button { pub const ALIGN_CENTER : i64 = 1i64 ; pub const ALIGN_LEFT : i64 = 0i64 ; pub const ALIGN_RIGHT : i64 = 2i64 ; } impl Button { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ButtonMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Button's icon, if text is present the icon will be placed before the text."] # [doc = ""] # [inline] pub fn button_icon (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_button_icon ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text."] # [doc = ""] # [inline] pub fn clip_text (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_clip_text ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The button's text that will be displayed inside the button's area."] # [doc = ""] # [inline] pub fn text (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_text ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "Text alignment policy for the button's text, use one of the [enum TextAlign] constants."] # [doc = ""] # [inline] pub fn text_align (& self) -> crate :: generated :: button :: TextAlign { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . get_text_align ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: button :: TextAlign (ret) } } # [doc = "When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect."] # [doc = ""] # [inline] pub fn is_expand_icon (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . is_expand_icon ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Flat buttons don't display decoration."] # [doc = ""] # [inline] pub fn is_flat (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . is_flat ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Button's icon, if text is present the icon will be placed before the text."] # [doc = ""] # [inline] pub fn set_button_icon (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_button_icon ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text."] # [doc = ""] # [inline] pub fn set_clip_text (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_clip_text ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect."] # [doc = ""] # [inline] pub fn set_expand_icon (& self , arg0 : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_expand_icon ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , arg0) ; } } # [doc = "Flat buttons don't display decoration."] # [doc = ""] # [inline] pub fn set_flat (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_flat ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The button's text that will be displayed inside the button's area."] # [doc = ""] # [inline] pub fn set_text (& self , text : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_text ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , text . into ()) ; } } # [doc = "Text alignment policy for the button's text, use one of the [enum TextAlign] constants."] # [doc = ""] # [inline] pub fn set_text_align (& self , align : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ButtonMethodTable :: get (get_api ()) . set_text_align ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , align) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Button { } unsafe impl GodotObject for Button { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Button" } } impl QueueFree for Button { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Button { type Target = crate :: generated :: base_button :: BaseButton ; # [inline] fn deref (& self) -> & crate :: generated :: base_button :: BaseButton { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Button { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: base_button :: BaseButton { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: base_button :: BaseButton > for Button { } unsafe impl SubClass < crate :: generated :: control :: Control > for Button { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Button { } unsafe impl SubClass < crate :: generated :: node :: Node > for Button { } unsafe impl SubClass < crate :: generated :: object :: Object > for Button { } impl Instanciable for Button { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Button :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ButtonMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_button_icon : * mut sys :: godot_method_bind , pub get_clip_text : * mut sys :: godot_method_bind , pub get_text : * mut sys :: godot_method_bind , pub get_text_align : * mut sys :: godot_method_bind , pub is_expand_icon : * mut sys :: godot_method_bind , pub is_flat : * mut sys :: godot_method_bind , pub set_button_icon : * mut sys :: godot_method_bind , pub set_clip_text : * mut sys :: godot_method_bind , pub set_expand_icon : * mut sys :: godot_method_bind , pub set_flat : * mut sys :: godot_method_bind , pub set_text : * mut sys :: godot_method_bind , pub set_text_align : * mut sys :: godot_method_bind } impl ButtonMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ButtonMethodTable = ButtonMethodTable { class_constructor : None , get_button_icon : 0 as * mut sys :: godot_method_bind , get_clip_text : 0 as * mut sys :: godot_method_bind , get_text : 0 as * mut sys :: godot_method_bind , get_text_align : 0 as * mut sys :: godot_method_bind , is_expand_icon : 0 as * mut sys :: godot_method_bind , is_flat : 0 as * mut sys :: godot_method_bind , set_button_icon : 0 as * mut sys :: godot_method_bind , set_clip_text : 0 as * mut sys :: godot_method_bind , set_expand_icon : 0 as * mut sys :: godot_method_bind , set_flat : 0 as * mut sys :: godot_method_bind , set_text : 0 as * mut sys :: godot_method_bind , set_text_align : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ButtonMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Button\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_button_icon = (gd_api . godot_method_bind_get_method) (class_name , "get_button_icon\0" . as_ptr () as * const c_char) ; table . get_clip_text = (gd_api . godot_method_bind_get_method) (class_name , "get_clip_text\0" . as_ptr () as * const c_char) ; table . get_text = (gd_api . godot_method_bind_get_method) (class_name , "get_text\0" . as_ptr () as * const c_char) ; table . get_text_align = (gd_api . godot_method_bind_get_method) (class_name , "get_text_align\0" . as_ptr () as * const c_char) ; table . is_expand_icon = (gd_api . godot_method_bind_get_method) (class_name , "is_expand_icon\0" . as_ptr () as * const c_char) ; table . is_flat = (gd_api . godot_method_bind_get_method) (class_name , "is_flat\0" . as_ptr () as * const c_char) ; table . set_button_icon = (gd_api . godot_method_bind_get_method) (class_name , "set_button_icon\0" . as_ptr () as * const c_char) ; table . set_clip_text = (gd_api . godot_method_bind_get_method) (class_name , "set_clip_text\0" . as_ptr () as * const c_char) ; table . set_expand_icon = (gd_api . godot_method_bind_get_method) (class_name , "set_expand_icon\0" . as_ptr () as * const c_char) ; table . set_flat = (gd_api . godot_method_bind_get_method) (class_name , "set_flat\0" . as_ptr () as * const c_char) ; table . set_text = (gd_api . godot_method_bind_get_method) (class_name , "set_text\0" . as_ptr () as * const c_char) ; table . set_text_align = (gd_api . godot_method_bind_get_method) (class_name , "set_text_align\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:904:23272
[INFO] [stdout]     |
[INFO] [stdout] 904 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 904 |                 # [doc = "`core class MeshDataTool` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_meshdatatool.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nMeshDataTool inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MeshDataTool { this : RawObject < Self > , } impl MeshDataTool { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MeshDataToolMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Clears all data currently in MeshDataTool."] # [doc = ""] # [inline] pub fn clear (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Adds a new surface to specified [Mesh] with edited data."] # [doc = ""] # [inline] pub fn commit_to_surface (& self , mesh : impl AsArg < crate :: generated :: array_mesh :: ArrayMesh >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . commit_to_surface ; let ret = crate :: icalls :: icallptr_i64_obj (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Uses specified surface of given [Mesh] to populate data for MeshDataTool.\nRequires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES]."] # [doc = ""] # [inline] pub fn create_from_surface (& self , mesh : impl AsArg < crate :: generated :: array_mesh :: ArrayMesh > , surface : i64) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . create_from_surface ; let ret = crate :: icalls :: icallptr_i64_obj_i64 (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr () , surface) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Returns the number of edges in this [Mesh]."] # [doc = ""] # [inline] pub fn get_edge_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_edge_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns array of faces that touch given edge."] # [doc = ""] # [inline] pub fn get_edge_faces (& self , idx : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_edge_faces ; let ret = crate :: icalls :: icallptr_i32arr_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Int32Array :: from_sys (ret) } } # [doc = "Returns meta information assigned to given edge."] # [doc = ""] # [inline] pub fn get_edge_meta (& self , idx : i64) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_edge_meta ; let ret = crate :: icalls :: icallptr_var_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Variant :: from_sys (ret) } } # [doc = "Returns index of specified vertex connected to given edge.\nVertex argument can only be 0 or 1 because edges are comprised of two vertices."] # [doc = ""] # [inline] pub fn get_edge_vertex (& self , idx : i64 , vertex : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_edge_vertex ; let ret = crate :: icalls :: icallptr_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , idx , vertex) ; ret as _ } } # [doc = "Returns the number of faces in this [Mesh]."] # [doc = ""] # [inline] pub fn get_face_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_face_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns specified edge associated with given face.\nEdge argument must 2 or less because a face only has three edges."] # [doc = ""] # [inline] pub fn get_face_edge (& self , idx : i64 , edge : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_face_edge ; let ret = crate :: icalls :: icallptr_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , idx , edge) ; ret as _ } } # [doc = "Returns the metadata associated with the given face."] # [doc = ""] # [inline] pub fn get_face_meta (& self , idx : i64) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_face_meta ; let ret = crate :: icalls :: icallptr_var_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Variant :: from_sys (ret) } } # [doc = "Calculates and returns the face normal of the given face."] # [doc = ""] # [inline] pub fn get_face_normal (& self , idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_face_normal ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the specified vertex of the given face.\nVertex argument must be 2 or less because faces contain three vertices."] # [doc = ""] # [inline] pub fn get_face_vertex (& self , idx : i64 , vertex : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_face_vertex ; let ret = crate :: icalls :: icallptr_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , idx , vertex) ; ret as _ } } # [doc = "Returns the [Mesh]'s format. Format is an integer made up of [Mesh] format flags combined together. For example, a mesh containing both vertices and normals would return a format of `3` because [constant ArrayMesh.ARRAY_FORMAT_VERTEX] is `1` and [constant ArrayMesh.ARRAY_FORMAT_NORMAL] is `2`.\nSee [enum ArrayMesh.ArrayFormat] for a list of format flags."] # [doc = ""] # [inline] pub fn get_format (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_format ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the material assigned to the [Mesh]."] # [doc = ""] # [inline] pub fn get_material (& self) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_material ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the vertex at given index."] # [doc = ""] # [inline] pub fn get_vertex (& self , idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the bones of the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_bones (& self , idx : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_bones ; let ret = crate :: icalls :: icallptr_i32arr_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Int32Array :: from_sys (ret) } } # [doc = "Returns the color of the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_color (& self , idx : i64) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_color ; let ret = crate :: icalls :: icallptr_color_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the total number of vertices in [Mesh]."] # [doc = ""] # [inline] pub fn get_vertex_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an array of edges that share the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_edges (& self , idx : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_edges ; let ret = crate :: icalls :: icallptr_i32arr_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Int32Array :: from_sys (ret) } } # [doc = "Returns an array of faces that share the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_faces (& self , idx : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_faces ; let ret = crate :: icalls :: icallptr_i32arr_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Int32Array :: from_sys (ret) } } # [doc = "Returns the metadata associated with the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_meta (& self , idx : i64) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_meta ; let ret = crate :: icalls :: icallptr_var_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Variant :: from_sys (ret) } } # [doc = "Returns the normal of the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_normal (& self , idx : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_normal ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the tangent of the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_tangent (& self , idx : i64) -> Plane { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_tangent ; let ret = crate :: icalls :: icallptr_plane_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the UV of the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_uv (& self , idx : i64) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_uv ; let ret = crate :: icalls :: icallptr_vec2_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns the UV2 of the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_uv2 (& self , idx : i64) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_uv2 ; let ret = crate :: icalls :: icallptr_vec2_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; mem :: transmute (ret) } } # [doc = "Returns bone weights of the given vertex."] # [doc = ""] # [inline] pub fn get_vertex_weights (& self , idx : i64) -> Float32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . get_vertex_weights ; let ret = crate :: icalls :: icallptr_f32arr_i64 (method_bind , self . this . sys () . as_ptr () , idx) ; Float32Array :: from_sys (ret) } } # [doc = "Sets the metadata of the given edge."] # [doc = ""] # [inline] pub fn set_edge_meta (& self , idx : i64 , meta : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_edge_meta ; let ret = crate :: icalls :: icallptr_void_i64_var (method_bind , self . this . sys () . as_ptr () , idx , meta . owned_to_variant ()) ; } } # [doc = "Sets the metadata of the given face."] # [doc = ""] # [inline] pub fn set_face_meta (& self , idx : i64 , meta : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_face_meta ; let ret = crate :: icalls :: icallptr_void_i64_var (method_bind , self . this . sys () . as_ptr () , idx , meta . owned_to_variant ()) ; } } # [doc = "Sets the material to be used by newly-constructed [Mesh]."] # [doc = ""] # [inline] pub fn set_material (& self , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_material ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , material . as_arg_ptr ()) ; } } # [doc = "Sets the position of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex (& self , idx : i64 , vertex : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex ; let ret = crate :: icalls :: icallptr_void_i64_vec3 (method_bind , self . this . sys () . as_ptr () , idx , vertex) ; } } # [doc = "Sets the bones of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_bones (& self , idx : i64 , bones : Int32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_bones ; let ret = crate :: icalls :: icallptr_void_i64_i32arr (method_bind , self . this . sys () . as_ptr () , idx , bones) ; } } # [doc = "Sets the color of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_color (& self , idx : i64 , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_color ; let ret = crate :: icalls :: icallptr_void_i64_color (method_bind , self . this . sys () . as_ptr () , idx , color) ; } } # [doc = "Sets the metadata associated with the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_meta (& self , idx : i64 , meta : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_meta ; let ret = crate :: icalls :: icallptr_void_i64_var (method_bind , self . this . sys () . as_ptr () , idx , meta . owned_to_variant ()) ; } } # [doc = "Sets the normal of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_normal (& self , idx : i64 , normal : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_normal ; let ret = crate :: icalls :: icallptr_void_i64_vec3 (method_bind , self . this . sys () . as_ptr () , idx , normal) ; } } # [doc = "Sets the tangent of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_tangent (& self , idx : i64 , tangent : Plane) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_tangent ; let ret = crate :: icalls :: icallptr_void_i64_plane (method_bind , self . this . sys () . as_ptr () , idx , tangent) ; } } # [doc = "Sets the UV of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_uv (& self , idx : i64 , uv : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_uv ; let ret = crate :: icalls :: icallptr_void_i64_vec2 (method_bind , self . this . sys () . as_ptr () , idx , uv) ; } } # [doc = "Sets the UV2 of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_uv2 (& self , idx : i64 , uv2 : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_uv2 ; let ret = crate :: icalls :: icallptr_void_i64_vec2 (method_bind , self . this . sys () . as_ptr () , idx , uv2) ; } } # [doc = "Sets the bone weights of the given vertex."] # [doc = ""] # [inline] pub fn set_vertex_weights (& self , idx : i64 , weights : Float32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshDataToolMethodTable :: get (get_api ()) . set_vertex_weights ; let ret = crate :: icalls :: icallptr_void_i64_f32arr (method_bind , self . this . sys () . as_ptr () , idx , weights) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MeshDataTool { } unsafe impl GodotObject for MeshDataTool { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "MeshDataTool" } } impl std :: ops :: Deref for MeshDataTool { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MeshDataTool { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for MeshDataTool { } unsafe impl SubClass < crate :: generated :: object :: Object > for MeshDataTool { } impl Instanciable for MeshDataTool { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MeshDataTool :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MeshDataToolMethodTable { pub class_constructor : sys :: godot_class_constructor , pub clear : * mut sys :: godot_method_bind , pub commit_to_surface : * mut sys :: godot_method_bind , pub create_from_surface : * mut sys :: godot_method_bind , pub get_edge_count : * mut sys :: godot_method_bind , pub get_edge_faces : * mut sys :: godot_method_bind , pub get_edge_meta : * mut sys :: godot_method_bind , pub get_edge_vertex : * mut sys :: godot_method_bind , pub get_face_count : * mut sys :: godot_method_bind , pub get_face_edge : * mut sys :: godot_method_bind , pub get_face_meta : * mut sys :: godot_method_bind , pub get_face_normal : * mut sys :: godot_method_bind , pub get_face_vertex : * mut sys :: godot_method_bind , pub get_format : * mut sys :: godot_method_bind , pub get_material : * mut sys :: godot_method_bind , pub get_vertex : * mut sys :: godot_method_bind , pub get_vertex_bones : * mut sys :: godot_method_bind , pub get_vertex_color : * mut sys :: godot_method_bind , pub get_vertex_count : * mut sys :: godot_method_bind , pub get_vertex_edges : * mut sys :: godot_method_bind , pub get_vertex_faces : * mut sys :: godot_method_bind , pub get_vertex_meta : * mut sys :: godot_method_bind , pub get_vertex_normal : * mut sys :: godot_method_bind , pub get_vertex_tangent : * mut sys :: godot_method_bind , pub get_vertex_uv : * mut sys :: godot_method_bind , pub get_vertex_uv2 : * mut sys :: godot_method_bind , pub get_vertex_weights : * mut sys :: godot_method_bind , pub set_edge_meta : * mut sys :: godot_method_bind , pub set_face_meta : * mut sys :: godot_method_bind , pub set_material : * mut sys :: godot_method_bind , pub set_vertex : * mut sys :: godot_method_bind , pub set_vertex_bones : * mut sys :: godot_method_bind , pub set_vertex_color : * mut sys :: godot_method_bind , pub set_vertex_meta : * mut sys :: godot_method_bind , pub set_vertex_normal : * mut sys :: godot_method_bind , pub set_vertex_tangent : * mut sys :: godot_method_bind , pub set_vertex_uv : * mut sys :: godot_method_bind , pub set_vertex_uv2 : * mut sys :: godot_method_bind , pub set_vertex_weights : * mut sys :: godot_method_bind } impl MeshDataToolMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MeshDataToolMethodTable = MeshDataToolMethodTable { class_constructor : None , clear : 0 as * mut sys :: godot_method_bind , commit_to_surface : 0 as * mut sys :: godot_method_bind , create_from_surface : 0 as * mut sys :: godot_method_bind , get_edge_count : 0 as * mut sys :: godot_method_bind , get_edge_faces : 0 as * mut sys :: godot_method_bind , get_edge_meta : 0 as * mut sys :: godot_method_bind , get_edge_vertex : 0 as * mut sys :: godot_method_bind , get_face_count : 0 as * mut sys :: godot_method_bind , get_face_edge : 0 as * mut sys :: godot_method_bind , get_face_meta : 0 as * mut sys :: godot_method_bind , get_face_normal : 0 as * mut sys :: godot_method_bind , get_face_vertex : 0 as * mut sys :: godot_method_bind , get_format : 0 as * mut sys :: godot_method_bind , get_material : 0 as * mut sys :: godot_method_bind , get_vertex : 0 as * mut sys :: godot_method_bind , get_vertex_bones : 0 as * mut sys :: godot_method_bind , get_vertex_color : 0 as * mut sys :: godot_method_bind , get_vertex_count : 0 as * mut sys :: godot_method_bind , get_vertex_edges : 0 as * mut sys :: godot_method_bind , get_vertex_faces : 0 as * mut sys :: godot_method_bind , get_vertex_meta : 0 as * mut sys :: godot_method_bind , get_vertex_normal : 0 as * mut sys :: godot_method_bind , get_vertex_tangent : 0 as * mut sys :: godot_method_bind , get_vertex_uv : 0 as * mut sys :: godot_method_bind , get_vertex_uv2 : 0 as * mut sys :: godot_method_bind , get_vertex_weights : 0 as * mut sys :: godot_method_bind , set_edge_meta : 0 as * mut sys :: godot_method_bind , set_face_meta : 0 as * mut sys :: godot_method_bind , set_material : 0 as * mut sys :: godot_method_bind , set_vertex : 0 as * mut sys :: godot_method_bind , set_vertex_bones : 0 as * mut sys :: godot_method_bind , set_vertex_color : 0 as * mut sys :: godot_method_bind , set_vertex_meta : 0 as * mut sys :: godot_method_bind , set_vertex_normal : 0 as * mut sys :: godot_method_bind , set_vertex_tangent : 0 as * mut sys :: godot_method_bind , set_vertex_uv : 0 as * mut sys :: godot_method_bind , set_vertex_uv2 : 0 as * mut sys :: godot_method_bind , set_vertex_weights : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MeshDataToolMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MeshDataTool\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . commit_to_surface = (gd_api . godot_method_bind_get_method) (class_name , "commit_to_surface\0" . as_ptr () as * const c_char) ; table . create_from_surface = (gd_api . godot_method_bind_get_method) (class_name , "create_from_surface\0" . as_ptr () as * const c_char) ; table . get_edge_count = (gd_api . godot_method_bind_get_method) (class_name , "get_edge_count\0" . as_ptr () as * const c_char) ; table . get_edge_faces = (gd_api . godot_method_bind_get_method) (class_name , "get_edge_faces\0" . as_ptr () as * const c_char) ; table . get_edge_meta = (gd_api . godot_method_bind_get_method) (class_name , "get_edge_meta\0" . as_ptr () as * const c_char) ; table . get_edge_vertex = (gd_api . godot_method_bind_get_method) (class_name , "get_edge_vertex\0" . as_ptr () as * const c_char) ; table . get_face_count = (gd_api . godot_method_bind_get_method) (class_name , "get_face_count\0" . as_ptr () as * const c_char) ; table . get_face_edge = (gd_api . godot_method_bind_get_method) (class_name , "get_face_edge\0" . as_ptr () as * const c_char) ; table . get_face_meta = (gd_api . godot_method_bind_get_method) (class_name , "get_face_meta\0" . as_ptr () as * const c_char) ; table . get_face_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_face_normal\0" . as_ptr () as * const c_char) ; table . get_face_vertex = (gd_api . godot_method_bind_get_method) (class_name , "get_face_vertex\0" . as_ptr () as * const c_char) ; table . get_format = (gd_api . godot_method_bind_get_method) (class_name , "get_format\0" . as_ptr () as * const c_char) ; table . get_material = (gd_api . godot_method_bind_get_method) (class_name , "get_material\0" . as_ptr () as * const c_char) ; table . get_vertex = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex\0" . as_ptr () as * const c_char) ; table . get_vertex_bones = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_bones\0" . as_ptr () as * const c_char) ; table . get_vertex_color = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_color\0" . as_ptr () as * const c_char) ; table . get_vertex_count = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_count\0" . as_ptr () as * const c_char) ; table . get_vertex_edges = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_edges\0" . as_ptr () as * const c_char) ; table . get_vertex_faces = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_faces\0" . as_ptr () as * const c_char) ; table . get_vertex_meta = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_meta\0" . as_ptr () as * const c_char) ; table . get_vertex_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_normal\0" . as_ptr () as * const c_char) ; table . get_vertex_tangent = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_tangent\0" . as_ptr () as * const c_char) ; table . get_vertex_uv = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_uv\0" . as_ptr () as * const c_char) ; table . get_vertex_uv2 = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_uv2\0" . as_ptr () as * const c_char) ; table . get_vertex_weights = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_weights\0" . as_ptr () as * const c_char) ; table . set_edge_meta = (gd_api . godot_method_bind_get_method) (class_name , "set_edge_meta\0" . as_ptr () as * const c_char) ; table . set_face_meta = (gd_api . godot_method_bind_get_method) (class_name , "set_face_meta\0" . as_ptr () as * const c_char) ; table . set_material = (gd_api . godot_method_bind_get_method) (class_name , "set_material\0" . as_ptr () as * const c_char) ; table . set_vertex = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex\0" . as_ptr () as * const c_char) ; table . set_vertex_bones = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_bones\0" . as_ptr () as * const c_char) ; table . set_vertex_color = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_color\0" . as_ptr () as * const c_char) ; table . set_vertex_meta = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_meta\0" . as_ptr () as * const c_char) ; table . set_vertex_normal = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_normal\0" . as_ptr () as * const c_char) ; table . set_vertex_tangent = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_tangent\0" . as_ptr () as * const c_char) ; table . set_vertex_uv = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_uv\0" . as_ptr () as * const c_char) ; table . set_vertex_uv2 = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_uv2\0" . as_ptr () as * const c_char) ; table . set_vertex_weights = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_weights\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:910:3868
[INFO] [stdout]     |
[INFO] [stdout] 910 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 910 |                 # [doc = "`core class VisualShaderNodeVectorScalarMix` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodevectorscalarmix.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeVectorScalarMix inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeVectorScalarMix { this : RawObject < Self > , } impl VisualShaderNodeVectorScalarMix { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeVectorScalarMixMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeVectorScalarMix { } unsafe impl GodotObject for VisualShaderNodeVectorScalarMix { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeVectorScalarMix" } } impl std :: ops :: Deref for VisualShaderNodeVectorScalarMix { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeVectorScalarMix { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeVectorScalarMix { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeVectorScalarMix { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeVectorScalarMix { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeVectorScalarMix { } impl Instanciable for VisualShaderNodeVectorScalarMix { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeVectorScalarMix :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeVectorScalarMixMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualShaderNodeVectorScalarMixMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeVectorScalarMixMethodTable = VisualShaderNodeVectorScalarMixMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeVectorScalarMixMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeVectorScalarMix\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:166:9210
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 # [doc = "`core class KinematicCollision2D` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_kinematiccollision2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nKinematicCollision2D inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct KinematicCollision2D { this : RawObject < Self > , } impl KinematicCollision2D { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = KinematicCollision2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The colliding body."] # [doc = ""] # [inline] pub fn collider (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's unique instance ID. See [method Object.get_instance_id]."] # [doc = ""] # [inline] pub fn collider_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding body's metadata. See [Object]."] # [doc = ""] # [inline] pub fn collider_metadata (& self) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_metadata ; let ret = crate :: icalls :: icallptr_var (method_bind , self . this . sys () . as_ptr ()) ; Variant :: from_sys (ret) } } # [doc = "The colliding body's shape."] # [doc = ""] # [inline] pub fn collider_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding shape's index. See [CollisionObject2D]."] # [doc = ""] # [inline] pub fn collider_shape_index (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_shape_index ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding object's velocity."] # [doc = ""] # [inline] pub fn collider_velocity (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_collider_velocity ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's colliding shape."] # [doc = ""] # [inline] pub fn local_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_local_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's shape's normal at the point of collision."] # [doc = ""] # [inline] pub fn normal (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_normal ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The point of collision, in global coordinates."] # [doc = ""] # [inline] pub fn position (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_position ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's remaining movement vector."] # [doc = ""] # [inline] pub fn remainder (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_remainder ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The distance the moving object traveled before collision."] # [doc = ""] # [inline] pub fn travel (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollision2DMethodTable :: get (get_api ()) . get_travel ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for KinematicCollision2D { } unsafe impl GodotObject for KinematicCollision2D { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "KinematicCollision2D" } } impl std :: ops :: Deref for KinematicCollision2D { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for KinematicCollision2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for KinematicCollision2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for KinematicCollision2D { } impl Instanciable for KinematicCollision2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { KinematicCollision2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct KinematicCollision2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_collider : * mut sys :: godot_method_bind , pub get_collider_id : * mut sys :: godot_method_bind , pub get_collider_metadata : * mut sys :: godot_method_bind , pub get_collider_shape : * mut sys :: godot_method_bind , pub get_collider_shape_index : * mut sys :: godot_method_bind , pub get_collider_velocity : * mut sys :: godot_method_bind , pub get_local_shape : * mut sys :: godot_method_bind , pub get_normal : * mut sys :: godot_method_bind , pub get_position : * mut sys :: godot_method_bind , pub get_remainder : * mut sys :: godot_method_bind , pub get_travel : * mut sys :: godot_method_bind } impl KinematicCollision2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : KinematicCollision2DMethodTable = KinematicCollision2DMethodTable { class_constructor : None , get_collider : 0 as * mut sys :: godot_method_bind , get_collider_id : 0 as * mut sys :: godot_method_bind , get_collider_metadata : 0 as * mut sys :: godot_method_bind , get_collider_shape : 0 as * mut sys :: godot_method_bind , get_collider_shape_index : 0 as * mut sys :: godot_method_bind , get_collider_velocity : 0 as * mut sys :: godot_method_bind , get_local_shape : 0 as * mut sys :: godot_method_bind , get_normal : 0 as * mut sys :: godot_method_bind , get_position : 0 as * mut sys :: godot_method_bind , get_remainder : 0 as * mut sys :: godot_method_bind , get_travel : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { KinematicCollision2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "KinematicCollision2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_collider = (gd_api . godot_method_bind_get_method) (class_name , "get_collider\0" . as_ptr () as * const c_char) ; table . get_collider_id = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_id\0" . as_ptr () as * const c_char) ; table . get_collider_metadata = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_metadata\0" . as_ptr () as * const c_char) ; table . get_collider_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape\0" . as_ptr () as * const c_char) ; table . get_collider_shape_index = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape_index\0" . as_ptr () as * const c_char) ; table . get_collider_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_velocity\0" . as_ptr () as * const c_char) ; table . get_local_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_local_shape\0" . as_ptr () as * const c_char) ; table . get_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_normal\0" . as_ptr () as * const c_char) ; table . get_position = (gd_api . godot_method_bind_get_method) (class_name , "get_position\0" . as_ptr () as * const c_char) ; table . get_remainder = (gd_api . godot_method_bind_get_method) (class_name , "get_remainder\0" . as_ptr () as * const c_char) ; table . get_travel = (gd_api . godot_method_bind_get_method) (class_name , "get_travel\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:172:12102
[INFO] [stdout]     |
[INFO] [stdout] 172 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 # [doc = "`core class UPNPDevice` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_upnpdevice.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nUPNPDevice inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct UPNPDevice { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct IgdStatus (pub i64) ; impl IgdStatus { pub const OK : IgdStatus = IgdStatus (0i64) ; pub const HTTP_ERROR : IgdStatus = IgdStatus (1i64) ; pub const HTTP_EMPTY : IgdStatus = IgdStatus (2i64) ; pub const NO_URLS : IgdStatus = IgdStatus (3i64) ; pub const NO_IGD : IgdStatus = IgdStatus (4i64) ; pub const DISCONNECTED : IgdStatus = IgdStatus (5i64) ; pub const UNKNOWN_DEVICE : IgdStatus = IgdStatus (6i64) ; pub const INVALID_CONTROL : IgdStatus = IgdStatus (7i64) ; pub const MALLOC_ERROR : IgdStatus = IgdStatus (8i64) ; pub const UNKNOWN_ERROR : IgdStatus = IgdStatus (9i64) ; } impl From < i64 > for IgdStatus { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < IgdStatus > for i64 { # [inline] fn from (v : IgdStatus) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl UPNPDevice { pub const IGD_STATUS_DISCONNECTED : i64 = 5i64 ; pub const IGD_STATUS_HTTP_EMPTY : i64 = 2i64 ; pub const IGD_STATUS_HTTP_ERROR : i64 = 1i64 ; pub const IGD_STATUS_INVALID_CONTROL : i64 = 7i64 ; pub const IGD_STATUS_MALLOC_ERROR : i64 = 8i64 ; pub const IGD_STATUS_NO_IGD : i64 = 4i64 ; pub const IGD_STATUS_NO_URLS : i64 = 3i64 ; pub const IGD_STATUS_OK : i64 = 0i64 ; pub const IGD_STATUS_UNKNOWN_DEVICE : i64 = 6i64 ; pub const IGD_STATUS_UNKNOWN_ERROR : i64 = 9i64 ; } impl UPNPDevice { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = UPNPDeviceMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn add_port_mapping (& self , port : i64 , port_internal : i64 , desc : impl Into < GodotString > , proto : impl Into < GodotString > , duration : i64) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . add_port_mapping ; let ret = crate :: icalls :: icallptr_i64_i64_i64_str_str_i64 (method_bind , self . this . sys () . as_ptr () , port , port_internal , desc . into () , proto . into () , duration) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn delete_port_mapping (& self , port : i64 , proto : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . delete_port_mapping ; let ret = crate :: icalls :: icallptr_i64_i64_str (method_bind , self . this . sys () . as_ptr () , port , proto . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn description_url (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_description_url ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_control_url (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_control_url ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_our_addr (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_our_addr ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_service_type (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_service_type ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn igd_status (& self) -> crate :: generated :: upnp_device :: IgdStatus { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_igd_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: upnp_device :: IgdStatus (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn service_type (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . get_service_type ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_valid_gateway (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . is_valid_gateway ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn query_external_address (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . query_external_address ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_description_url (& self , url : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_description_url ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , url . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_control_url (& self , url : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_control_url ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , url . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_our_addr (& self , addr : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_our_addr ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , addr . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_service_type (& self , _type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_service_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , _type . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_igd_status (& self , status : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_igd_status ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , status) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_service_type (& self , _type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = UPNPDeviceMethodTable :: get (get_api ()) . set_service_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , _type . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for UPNPDevice { } unsafe impl GodotObject for UPNPDevice { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "UPNPDevice" } } impl std :: ops :: Deref for UPNPDevice { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for UPNPDevice { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for UPNPDevice { } unsafe impl SubClass < crate :: generated :: object :: Object > for UPNPDevice { } impl Instanciable for UPNPDevice { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { UPNPDevice :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct UPNPDeviceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_port_mapping : * mut sys :: godot_method_bind , pub delete_port_mapping : * mut sys :: godot_method_bind , pub get_description_url : * mut sys :: godot_method_bind , pub get_igd_control_url : * mut sys :: godot_method_bind , pub get_igd_our_addr : * mut sys :: godot_method_bind , pub get_igd_service_type : * mut sys :: godot_method_bind , pub get_igd_status : * mut sys :: godot_method_bind , pub get_service_type : * mut sys :: godot_method_bind , pub is_valid_gateway : * mut sys :: godot_method_bind , pub query_external_address : * mut sys :: godot_method_bind , pub set_description_url : * mut sys :: godot_method_bind , pub set_igd_control_url : * mut sys :: godot_method_bind , pub set_igd_our_addr : * mut sys :: godot_method_bind , pub set_igd_service_type : * mut sys :: godot_method_bind , pub set_igd_status : * mut sys :: godot_method_bind , pub set_service_type : * mut sys :: godot_method_bind } impl UPNPDeviceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : UPNPDeviceMethodTable = UPNPDeviceMethodTable { class_constructor : None , add_port_mapping : 0 as * mut sys :: godot_method_bind , delete_port_mapping : 0 as * mut sys :: godot_method_bind , get_description_url : 0 as * mut sys :: godot_method_bind , get_igd_control_url : 0 as * mut sys :: godot_method_bind , get_igd_our_addr : 0 as * mut sys :: godot_method_bind , get_igd_service_type : 0 as * mut sys :: godot_method_bind , get_igd_status : 0 as * mut sys :: godot_method_bind , get_service_type : 0 as * mut sys :: godot_method_bind , is_valid_gateway : 0 as * mut sys :: godot_method_bind , query_external_address : 0 as * mut sys :: godot_method_bind , set_description_url : 0 as * mut sys :: godot_method_bind , set_igd_control_url : 0 as * mut sys :: godot_method_bind , set_igd_our_addr : 0 as * mut sys :: godot_method_bind , set_igd_service_type : 0 as * mut sys :: godot_method_bind , set_igd_status : 0 as * mut sys :: godot_method_bind , set_service_type : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { UPNPDeviceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "UPNPDevice\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_port_mapping = (gd_api . godot_method_bind_get_method) (class_name , "add_port_mapping\0" . as_ptr () as * const c_char) ; table . delete_port_mapping = (gd_api . godot_method_bind_get_method) (class_name , "delete_port_mapping\0" . as_ptr () as * const c_char) ; table . get_description_url = (gd_api . godot_method_bind_get_method) (class_name , "get_description_url\0" . as_ptr () as * const c_char) ; table . get_igd_control_url = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_control_url\0" . as_ptr () as * const c_char) ; table . get_igd_our_addr = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_our_addr\0" . as_ptr () as * const c_char) ; table . get_igd_service_type = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_service_type\0" . as_ptr () as * const c_char) ; table . get_igd_status = (gd_api . godot_method_bind_get_method) (class_name , "get_igd_status\0" . as_ptr () as * const c_char) ; table . get_service_type = (gd_api . godot_method_bind_get_method) (class_name , "get_service_type\0" . as_ptr () as * const c_char) ; table . is_valid_gateway = (gd_api . godot_method_bind_get_method) (class_name , "is_valid_gateway\0" . as_ptr () as * const c_char) ; table . query_external_address = (gd_api . godot_method_bind_get_method) (class_name , "query_external_address\0" . as_ptr () as * const c_char) ; table . set_description_url = (gd_api . godot_method_bind_get_method) (class_name , "set_description_url\0" . as_ptr () as * const c_char) ; table . set_igd_control_url = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_control_url\0" . as_ptr () as * const c_char) ; table . set_igd_our_addr = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_our_addr\0" . as_ptr () as * const c_char) ; table . set_igd_service_type = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_service_type\0" . as_ptr () as * const c_char) ; table . set_igd_status = (gd_api . godot_method_bind_get_method) (class_name , "set_igd_status\0" . as_ptr () as * const c_char) ; table . set_service_type = (gd_api . godot_method_bind_get_method) (class_name , "set_service_type\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:916:18544
[INFO] [stdout]     |
[INFO] [stdout] 916 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 916 |                 # [doc = "`core class AStar` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_astar.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAStar inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AStar { this : RawObject < Self > , } impl AStar { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AStarMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nAdds a new point at the given position with the given identifier. The algorithm prefers points with lower `weight_scale` to form a path. The `id` must be 0 or larger, and the `weight_scale` must be 1 or larger.\n```gdscript\nvar astar = AStar.new()\nastar.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with weight_scale 4 and id 1\n```\nIf there already exists a point for the given `id`, its position and weight scale are updated to the given values.\n# Default Arguments\n* `weight_scale` - `1.0`"] # [doc = ""] # [inline] pub fn add_point (& self , id : i64 , position : Vector3 , weight_scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . add_point ; let ret = crate :: icalls :: icallptr_void_i64_vec3_f64 (method_bind , self . this . sys () . as_ptr () , id , position , weight_scale) ; } } # [doc = "Returns whether the two given points are directly connected by a segment. If `bidirectional` is `false`, returns whether movement from `id` to `to_id` is possible through this segment.\n# Default Arguments\n* `bidirectional` - `true`"] # [doc = ""] # [inline] pub fn are_points_connected (& self , id : i64 , to_id : i64 , bidirectional : bool) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . are_points_connected ; let ret = crate :: icalls :: icallptr_bool_i64_i64_bool (method_bind , self . this . sys () . as_ptr () , id , to_id , bidirectional) ; ret as _ } } # [doc = "Clears all the points and segments."] # [doc = ""] # [inline] pub fn clear (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . clear ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nCreates a segment between the given points. If `bidirectional` is `false`, only movement from `id` to `to_id` is allowed, not the reverse direction.\n```gdscript\nvar astar = AStar.new()\nastar.add_point(1, Vector3(1, 1, 0))\nastar.add_point(2, Vector3(0, 5, 0))\nastar.connect_points(1, 2, false)\n```\n# Default Arguments\n* `bidirectional` - `true`"] # [doc = ""] # [inline] pub fn connect_points (& self , id : i64 , to_id : i64 , bidirectional : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . connect_points ; let ret = crate :: icalls :: icallptr_void_i64_i64_bool (method_bind , self . this . sys () . as_ptr () , id , to_id , bidirectional) ; } } # [doc = "Deletes the segment between the given points. If `bidirectional` is `false`, only movement from `id` to `to_id` is prevented, and a unidirectional segment possibly remains.\n# Default Arguments\n* `bidirectional` - `true`"] # [doc = ""] # [inline] pub fn disconnect_points (& self , id : i64 , to_id : i64 , bidirectional : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . disconnect_points ; let ret = crate :: icalls :: icallptr_void_i64_i64_bool (method_bind , self . this . sys () . as_ptr () , id , to_id , bidirectional) ; } } # [doc = "Returns the next available point ID with no point associated to it."] # [doc = ""] # [inline] pub fn get_available_point_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_available_point_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the ID of the closest point to `to_position`, optionally taking disabled points into account. Returns `-1` if there are no points in the points pool.\n**Note:** If several points are the closest to `to_position`, the one with the smallest ID will be returned, ensuring a deterministic result.\n# Default Arguments\n* `include_disabled` - `false`"] # [doc = ""] # [inline] pub fn get_closest_point (& self , to_position : Vector3 , include_disabled : bool) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_closest_point ; let ret = crate :: icalls :: icallptr_i64_vec3_bool (method_bind , self . this . sys () . as_ptr () , to_position , include_disabled) ; ret as _ } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nReturns the closest position to `to_position` that resides inside a segment between two connected points.\n```gdscript\nvar astar = AStar.new()\nastar.add_point(1, Vector3(0, 0, 0))\nastar.add_point(2, Vector3(0, 5, 0))\nastar.connect_points(1, 2)\nvar res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns (0, 3, 0)\n```\nThe result is in the segment that goes from `y = 0` to `y = 5`. It's the closest position in the segment to the given point."] # [doc = ""] # [inline] pub fn get_closest_position_in_segment (& self , to_position : Vector3) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_closest_position_in_segment ; let ret = crate :: icalls :: icallptr_vec3_vec3 (method_bind , self . this . sys () . as_ptr () , to_position) ; mem :: transmute (ret) } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nReturns an array with the IDs of the points that form the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.\n```gdscript\nvar astar = AStar.new()\nastar.add_point(1, Vector3(0, 0, 0))\nastar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\nastar.add_point(3, Vector3(1, 1, 0))\nastar.add_point(4, Vector3(2, 0, 0))\n\nastar.connect_points(1, 2, false)\nastar.connect_points(2, 3, false)\nastar.connect_points(4, 3, false)\nastar.connect_points(1, 4, false)\n\nvar res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n```\nIf you change the 2nd point's weight to 3, then the result will be `[1, 4, 3]` instead, because now even though the distance is longer, it's \"easier\" to get through point 4 than through point 2."] # [doc = ""] # [inline] pub fn get_id_path (& self , from_id : i64 , to_id : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_id_path ; let ret = crate :: icalls :: icallptr_i32arr_i64_i64 (method_bind , self . this . sys () . as_ptr () , from_id , to_id) ; Int32Array :: from_sys (ret) } } # [doc = "Returns the capacity of the structure backing the points, useful in conjunction with `reserve_space`."] # [doc = ""] # [inline] pub fn get_point_capacity (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_point_capacity ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "_Sample code is GDScript unless otherwise noted._\n\nReturns an array with the IDs of the points that form the connection with the given point.\n```gdscript\nvar astar = AStar.new()\nastar.add_point(1, Vector3(0, 0, 0))\nastar.add_point(2, Vector3(0, 1, 0))\nastar.add_point(3, Vector3(1, 1, 0))\nastar.add_point(4, Vector3(2, 0, 0))\n\nastar.connect_points(1, 2, true)\nastar.connect_points(1, 3, true)\n\nvar neighbors = astar.get_point_connections(1) # Returns [2, 3]\n```"] # [doc = ""] # [inline] pub fn get_point_connections (& self , id : i64) -> Int32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_point_connections ; let ret = crate :: icalls :: icallptr_i32arr_i64 (method_bind , self . this . sys () . as_ptr () , id) ; Int32Array :: from_sys (ret) } } # [doc = "Returns the number of points currently in the points pool."] # [doc = ""] # [inline] pub fn get_point_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_point_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an array with the points that are in the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path."] # [doc = ""] # [inline] pub fn get_point_path (& self , from_id : i64 , to_id : i64) -> Vector3Array { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_point_path ; let ret = crate :: icalls :: icallptr_vec3arr_i64_i64 (method_bind , self . this . sys () . as_ptr () , from_id , to_id) ; Vector3Array :: from_sys (ret) } } # [doc = "Returns the position of the point associated with the given `id`."] # [doc = ""] # [inline] pub fn get_point_position (& self , id : i64) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_point_position ; let ret = crate :: icalls :: icallptr_vec3_i64 (method_bind , self . this . sys () . as_ptr () , id) ; mem :: transmute (ret) } } # [doc = "Returns the weight scale of the point associated with the given `id`."] # [doc = ""] # [inline] pub fn get_point_weight_scale (& self , id : i64) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_point_weight_scale ; let ret = crate :: icalls :: icallptr_f64_i64 (method_bind , self . this . sys () . as_ptr () , id) ; ret as _ } } # [doc = "Returns an array of all points."] # [doc = ""] # [inline] pub fn get_points (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . get_points ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns whether a point associated with the given `id` exists."] # [doc = ""] # [inline] pub fn has_point (& self , id : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . has_point ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , id) ; ret as _ } } # [doc = "Returns whether a point is disabled or not for pathfinding. By default, all points are enabled."] # [doc = ""] # [inline] pub fn is_point_disabled (& self , id : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . is_point_disabled ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , id) ; ret as _ } } # [doc = "Removes the point associated with the given `id` from the points pool."] # [doc = ""] # [inline] pub fn remove_point (& self , id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . remove_point ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , id) ; } } # [doc = "Reserves space internally for `num_nodes` points, useful if you're adding a known large number of points at once, for a grid for instance. New capacity must be greater or equals to old capacity."] # [doc = ""] # [inline] pub fn reserve_space (& self , num_nodes : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . reserve_space ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , num_nodes) ; } } # [doc = "Disables or enables the specified point for pathfinding. Useful for making a temporary obstacle.\n# Default Arguments\n* `disabled` - `true`"] # [doc = ""] # [inline] pub fn set_point_disabled (& self , id : i64 , disabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . set_point_disabled ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , id , disabled) ; } } # [doc = "Sets the `position` for the point with the given `id`."] # [doc = ""] # [inline] pub fn set_point_position (& self , id : i64 , position : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . set_point_position ; let ret = crate :: icalls :: icallptr_void_i64_vec3 (method_bind , self . this . sys () . as_ptr () , id , position) ; } } # [doc = "Sets the `weight_scale` for the point with the given `id`."] # [doc = ""] # [inline] pub fn set_point_weight_scale (& self , id : i64 , weight_scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AStarMethodTable :: get (get_api ()) . set_point_weight_scale ; let ret = crate :: icalls :: icallptr_void_i64_f64 (method_bind , self . this . sys () . as_ptr () , id , weight_scale) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AStar { } unsafe impl GodotObject for AStar { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AStar" } } impl std :: ops :: Deref for AStar { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AStar { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AStar { } unsafe impl SubClass < crate :: generated :: object :: Object > for AStar { } impl Instanciable for AStar { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AStar :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AStarMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_point : * mut sys :: godot_method_bind , pub are_points_connected : * mut sys :: godot_method_bind , pub clear : * mut sys :: godot_method_bind , pub connect_points : * mut sys :: godot_method_bind , pub disconnect_points : * mut sys :: godot_method_bind , pub get_available_point_id : * mut sys :: godot_method_bind , pub get_closest_point : * mut sys :: godot_method_bind , pub get_closest_position_in_segment : * mut sys :: godot_method_bind , pub get_id_path : * mut sys :: godot_method_bind , pub get_point_capacity : * mut sys :: godot_method_bind , pub get_point_connections : * mut sys :: godot_method_bind , pub get_point_count : * mut sys :: godot_method_bind , pub get_point_path : * mut sys :: godot_method_bind , pub get_point_position : * mut sys :: godot_method_bind , pub get_point_weight_scale : * mut sys :: godot_method_bind , pub get_points : * mut sys :: godot_method_bind , pub has_point : * mut sys :: godot_method_bind , pub is_point_disabled : * mut sys :: godot_method_bind , pub remove_point : * mut sys :: godot_method_bind , pub reserve_space : * mut sys :: godot_method_bind , pub set_point_disabled : * mut sys :: godot_method_bind , pub set_point_position : * mut sys :: godot_method_bind , pub set_point_weight_scale : * mut sys :: godot_method_bind } impl AStarMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AStarMethodTable = AStarMethodTable { class_constructor : None , add_point : 0 as * mut sys :: godot_method_bind , are_points_connected : 0 as * mut sys :: godot_method_bind , clear : 0 as * mut sys :: godot_method_bind , connect_points : 0 as * mut sys :: godot_method_bind , disconnect_points : 0 as * mut sys :: godot_method_bind , get_available_point_id : 0 as * mut sys :: godot_method_bind , get_closest_point : 0 as * mut sys :: godot_method_bind , get_closest_position_in_segment : 0 as * mut sys :: godot_method_bind , get_id_path : 0 as * mut sys :: godot_method_bind , get_point_capacity : 0 as * mut sys :: godot_method_bind , get_point_connections : 0 as * mut sys :: godot_method_bind , get_point_count : 0 as * mut sys :: godot_method_bind , get_point_path : 0 as * mut sys :: godot_method_bind , get_point_position : 0 as * mut sys :: godot_method_bind , get_point_weight_scale : 0 as * mut sys :: godot_method_bind , get_points : 0 as * mut sys :: godot_method_bind , has_point : 0 as * mut sys :: godot_method_bind , is_point_disabled : 0 as * mut sys :: godot_method_bind , remove_point : 0 as * mut sys :: godot_method_bind , reserve_space : 0 as * mut sys :: godot_method_bind , set_point_disabled : 0 as * mut sys :: godot_method_bind , set_point_position : 0 as * mut sys :: godot_method_bind , set_point_weight_scale : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AStarMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AStar\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_point = (gd_api . godot_method_bind_get_method) (class_name , "add_point\0" . as_ptr () as * const c_char) ; table . are_points_connected = (gd_api . godot_method_bind_get_method) (class_name , "are_points_connected\0" . as_ptr () as * const c_char) ; table . clear = (gd_api . godot_method_bind_get_method) (class_name , "clear\0" . as_ptr () as * const c_char) ; table . connect_points = (gd_api . godot_method_bind_get_method) (class_name , "connect_points\0" . as_ptr () as * const c_char) ; table . disconnect_points = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_points\0" . as_ptr () as * const c_char) ; table . get_available_point_id = (gd_api . godot_method_bind_get_method) (class_name , "get_available_point_id\0" . as_ptr () as * const c_char) ; table . get_closest_point = (gd_api . godot_method_bind_get_method) (class_name , "get_closest_point\0" . as_ptr () as * const c_char) ; table . get_closest_position_in_segment = (gd_api . godot_method_bind_get_method) (class_name , "get_closest_position_in_segment\0" . as_ptr () as * const c_char) ; table . get_id_path = (gd_api . godot_method_bind_get_method) (class_name , "get_id_path\0" . as_ptr () as * const c_char) ; table . get_point_capacity = (gd_api . godot_method_bind_get_method) (class_name , "get_point_capacity\0" . as_ptr () as * const c_char) ; table . get_point_connections = (gd_api . godot_method_bind_get_method) (class_name , "get_point_connections\0" . as_ptr () as * const c_char) ; table . get_point_count = (gd_api . godot_method_bind_get_method) (class_name , "get_point_count\0" . as_ptr () as * const c_char) ; table . get_point_path = (gd_api . godot_method_bind_get_method) (class_name , "get_point_path\0" . as_ptr () as * const c_char) ; table . get_point_position = (gd_api . godot_method_bind_get_method) (class_name , "get_point_position\0" . as_ptr () as * const c_char) ; table . get_point_weight_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_point_weight_scale\0" . as_ptr () as * const c_char) ; table . get_points = (gd_api . godot_method_bind_get_method) (class_name , "get_points\0" . as_ptr () as * const c_char) ; table . has_point = (gd_api . godot_method_bind_get_method) (class_name , "has_point\0" . as_ptr () as * const c_char) ; table . is_point_disabled = (gd_api . godot_method_bind_get_method) (class_name , "is_point_disabled\0" . as_ptr () as * const c_char) ; table . remove_point = (gd_api . godot_method_bind_get_method) (class_name , "remove_point\0" . as_ptr () as * const c_char) ; table . reserve_space = (gd_api . godot_method_bind_get_method) (class_name , "reserve_space\0" . as_ptr () as * const c_char) ; table . set_point_disabled = (gd_api . godot_method_bind_get_method) (class_name , "set_point_disabled\0" . as_ptr () as * const c_char) ; table . set_point_position = (gd_api . godot_method_bind_get_method) (class_name , "set_point_position\0" . as_ptr () as * const c_char) ; table . set_point_weight_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_point_weight_scale\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:922:4396
[INFO] [stdout]     |
[INFO] [stdout] 922 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 922 |                 # [doc = "`core class InputEventGesture` inherits `InputEventWithModifiers` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_inputeventgesture.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nInputEventGesture inherits methods from:\n - [InputEventWithModifiers](struct.InputEventWithModifiers.html)\n - [InputEvent](struct.InputEvent.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct InputEventGesture { this : RawObject < Self > , } impl InputEventGesture { # [doc = "The local gesture position relative to the [Viewport]. If used in [method Control._gui_input], the position is relative to the current [Control] that received this gesture."] # [doc = ""] # [inline] pub fn position (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventGestureMethodTable :: get (get_api ()) . get_position ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The local gesture position relative to the [Viewport]. If used in [method Control._gui_input], the position is relative to the current [Control] that received this gesture."] # [doc = ""] # [inline] pub fn set_position (& self , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputEventGestureMethodTable :: get (get_api ()) . set_position ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , position) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for InputEventGesture { } unsafe impl GodotObject for InputEventGesture { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "InputEventGesture" } } impl std :: ops :: Deref for InputEventGesture { type Target = crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers ; # [inline] fn deref (& self) -> & crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for InputEventGesture { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: input_event_with_modifiers :: InputEventWithModifiers > for InputEventGesture { } unsafe impl SubClass < crate :: generated :: input_event :: InputEvent > for InputEventGesture { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for InputEventGesture { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for InputEventGesture { } unsafe impl SubClass < crate :: generated :: object :: Object > for InputEventGesture { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct InputEventGestureMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_position : * mut sys :: godot_method_bind , pub set_position : * mut sys :: godot_method_bind } impl InputEventGestureMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : InputEventGestureMethodTable = InputEventGestureMethodTable { class_constructor : None , get_position : 0 as * mut sys :: godot_method_bind , set_position : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { InputEventGestureMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "InputEventGesture\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_position = (gd_api . godot_method_bind_get_method) (class_name , "get_position\0" . as_ptr () as * const c_char) ; table . set_position = (gd_api . godot_method_bind_get_method) (class_name , "set_position\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:178:27512
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 # [doc = "`tools class EditorPlugin` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_editorplugin.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nEditorPlugin inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = "\n## Tool\n\nThis class is used to interact with Godot's editor."] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct EditorPlugin { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct CustomControlContainer (pub i64) ; impl CustomControlContainer { pub const TOOLBAR : CustomControlContainer = CustomControlContainer (0i64) ; pub const SPATIAL_EDITOR_MENU : CustomControlContainer = CustomControlContainer (1i64) ; pub const SPATIAL_EDITOR_SIDE_LEFT : CustomControlContainer = CustomControlContainer (2i64) ; pub const SPATIAL_EDITOR_SIDE_RIGHT : CustomControlContainer = CustomControlContainer (3i64) ; pub const SPATIAL_EDITOR_BOTTOM : CustomControlContainer = CustomControlContainer (4i64) ; pub const CANVAS_EDITOR_MENU : CustomControlContainer = CustomControlContainer (5i64) ; pub const CANVAS_EDITOR_SIDE_LEFT : CustomControlContainer = CustomControlContainer (6i64) ; pub const CANVAS_EDITOR_SIDE_RIGHT : CustomControlContainer = CustomControlContainer (7i64) ; pub const CANVAS_EDITOR_BOTTOM : CustomControlContainer = CustomControlContainer (8i64) ; pub const PROPERTY_EDITOR_BOTTOM : CustomControlContainer = CustomControlContainer (9i64) ; pub const PROJECT_SETTING_TAB_LEFT : CustomControlContainer = CustomControlContainer (10i64) ; pub const PROJECT_SETTING_TAB_RIGHT : CustomControlContainer = CustomControlContainer (11i64) ; } impl From < i64 > for CustomControlContainer { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < CustomControlContainer > for i64 { # [inline] fn from (v : CustomControlContainer) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct DockSlot (pub i64) ; impl DockSlot { pub const LEFT_UL : DockSlot = DockSlot (0i64) ; pub const LEFT_BL : DockSlot = DockSlot (1i64) ; pub const LEFT_UR : DockSlot = DockSlot (2i64) ; pub const LEFT_BR : DockSlot = DockSlot (3i64) ; pub const RIGHT_UL : DockSlot = DockSlot (4i64) ; pub const RIGHT_BL : DockSlot = DockSlot (5i64) ; pub const RIGHT_UR : DockSlot = DockSlot (6i64) ; pub const RIGHT_BR : DockSlot = DockSlot (7i64) ; pub const MAX : DockSlot = DockSlot (8i64) ; } impl From < i64 > for DockSlot { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < DockSlot > for i64 { # [inline] fn from (v : DockSlot) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl EditorPlugin { pub const CONTAINER_CANVAS_EDITOR_BOTTOM : i64 = 8i64 ; pub const CONTAINER_CANVAS_EDITOR_MENU : i64 = 5i64 ; pub const CONTAINER_CANVAS_EDITOR_SIDE_LEFT : i64 = 6i64 ; pub const CONTAINER_CANVAS_EDITOR_SIDE_RIGHT : i64 = 7i64 ; pub const CONTAINER_PROJECT_SETTING_TAB_LEFT : i64 = 10i64 ; pub const CONTAINER_PROJECT_SETTING_TAB_RIGHT : i64 = 11i64 ; pub const CONTAINER_PROPERTY_EDITOR_BOTTOM : i64 = 9i64 ; pub const CONTAINER_SPATIAL_EDITOR_BOTTOM : i64 = 4i64 ; pub const CONTAINER_SPATIAL_EDITOR_MENU : i64 = 1i64 ; pub const CONTAINER_SPATIAL_EDITOR_SIDE_LEFT : i64 = 2i64 ; pub const CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT : i64 = 3i64 ; pub const CONTAINER_TOOLBAR : i64 = 0i64 ; pub const DOCK_SLOT_LEFT_BL : i64 = 1i64 ; pub const DOCK_SLOT_LEFT_BR : i64 = 3i64 ; pub const DOCK_SLOT_LEFT_UL : i64 = 0i64 ; pub const DOCK_SLOT_LEFT_UR : i64 = 2i64 ; pub const DOCK_SLOT_MAX : i64 = 8i64 ; pub const DOCK_SLOT_RIGHT_BL : i64 = 5i64 ; pub const DOCK_SLOT_RIGHT_BR : i64 = 7i64 ; pub const DOCK_SLOT_RIGHT_UL : i64 = 4i64 ; pub const DOCK_SLOT_RIGHT_UR : i64 = 6i64 ; } impl EditorPlugin { # [doc = "Adds a script at `path` to the Autoload list as `name`."] # [doc = ""] # [inline] pub fn add_autoload_singleton (& self , name : impl Into < GodotString > , path : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_autoload_singleton ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , name . into () , path . into ()) ; } } # [doc = "Adds a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It's up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_bottom_panel] and free it with [method Node.queue_free]."] # [doc = ""] # [inline] pub fn add_control_to_bottom_panel (& self , control : impl AsArg < crate :: generated :: control :: Control > , title : impl Into < GodotString >) -> Option < Ref < crate :: generated :: tool_button :: ToolButton , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_control_to_bottom_panel ; let ret = crate :: icalls :: icallptr_obj_obj_str (method_bind , self . this . sys () . as_ptr () , control . as_arg_ptr () , title . into ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: tool_button :: ToolButton , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Adds a custom control to a container (see [enum CustomControlContainer]). There are many locations where custom controls can be added in the editor UI.\nPlease remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it).\nWhen your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_container] and free it with [method Node.queue_free]."] # [doc = ""] # [inline] pub fn add_control_to_container (& self , container : i64 , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_control_to_container ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , container , control . as_arg_ptr ()) ; } } # [doc = "Adds the control to a specific dock slot (see [enum DockSlot] for options).\nIf the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions.\nWhen your plugin is deactivated, make sure to remove your custom control with [method remove_control_from_docks] and free it with [method Node.queue_free]."] # [doc = ""] # [inline] pub fn add_control_to_dock (& self , slot : i64 , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_control_to_dock ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , slot , control . as_arg_ptr ()) ; } } # [doc = "Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.\nWhen given node or resource is selected, the base type will be instanced (ie, \"Spatial\", \"Control\", \"Resource\"), then the script will be loaded and set to this object.\nYou can use the virtual method [method handles] to check if your custom object is being edited by checking the script or using the `is` keyword.\nDuring run-time, this will be a simple object with a script so this function does not need to be called then."] # [doc = ""] # [inline] pub fn add_custom_type (& self , _type : impl Into < GodotString > , base : impl Into < GodotString > , script : impl AsArg < crate :: generated :: script :: Script > , icon : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_custom_type ; let ret = crate :: icalls :: icallptr_void_str_str_obj_obj (method_bind , self . this . sys () . as_ptr () , _type . into () , base . into () , script . as_arg_ptr () , icon . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_export_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_export_plugin :: EditorExportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_export_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_import_plugin (& self , importer : impl AsArg < crate :: generated :: editor_import_plugin :: EditorImportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_inspector_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_inspector_plugin :: EditorInspectorPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_inspector_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_scene_import_plugin (& self , scene_importer : impl AsArg < crate :: generated :: editor_scene_importer :: EditorSceneImporter >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_scene_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , scene_importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_spatial_gizmo_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_spatial_gizmo_plugin :: EditorSpatialGizmoPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_spatial_gizmo_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = "Adds a custom menu item to **Project > Tools** as `name` that calls `callback` on an instance of `handler` with a parameter `ud` when user activates it.\n# Default Arguments\n* `ud` - `null`"] # [doc = ""] # [inline] pub fn add_tool_menu_item (& self , name : impl Into < GodotString > , handler : impl AsArg < crate :: generated :: object :: Object > , callback : impl Into < GodotString > , ud : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_tool_menu_item ; let ret = crate :: icalls :: icallptr_void_str_obj_str_var (method_bind , self . this . sys () . as_ptr () , name . into () , handler . as_arg_ptr () , callback . into () , ud . owned_to_variant ()) ; } } # [doc = "Adds a custom submenu under **Project > Tools >** `name`. `submenu` should be an object of class [PopupMenu]. This submenu should be cleaned up using `remove_tool_menu_item(name)`."] # [doc = ""] # [inline] pub fn add_tool_submenu_item (& self , name : impl Into < GodotString > , submenu : impl AsArg < crate :: generated :: object :: Object >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . add_tool_submenu_item ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , name . into () , submenu . as_arg_ptr ()) ; } } # [doc = "Returns the [EditorInterface] object that gives you control over Godot editor's window and its functionalities."] # [doc = ""] # [inline] pub fn get_editor_interface (& self) -> Option < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . get_editor_interface ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: editor_interface :: EditorInterface , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Gets the Editor's dialogue used for making scripts.\n**Note:** Users can configure it before use."] # [doc = ""] # [inline] pub fn get_script_create_dialog (& self) -> Option < Ref < crate :: generated :: script_create_dialog :: ScriptCreateDialog , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . get_script_create_dialog ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: script_create_dialog :: ScriptCreateDialog , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Gets the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it's worth it."] # [doc = ""] # [inline] pub fn get_undo_redo (& self) -> Option < Ref < crate :: generated :: undo_redo :: UndoRedo , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . get_undo_redo ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: undo_redo :: UndoRedo , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn hide_bottom_panel (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . hide_bottom_panel ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn make_bottom_panel_item_visible (& self , item : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . make_bottom_panel_item_visible ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , item . as_arg_ptr ()) ; } } # [doc = "Queue save the project's editor layout."] # [doc = ""] # [inline] pub fn queue_save_layout (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . queue_save_layout ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Removes an Autoload `name` from the list."] # [doc = ""] # [inline] pub fn remove_autoload_singleton (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_autoload_singleton ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "Removes the control from the bottom panel. You have to manually [method Node.queue_free] the control."] # [doc = ""] # [inline] pub fn remove_control_from_bottom_panel (& self , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_control_from_bottom_panel ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , control . as_arg_ptr ()) ; } } # [doc = "Removes the control from the specified container. You have to manually [method Node.queue_free] the control."] # [doc = ""] # [inline] pub fn remove_control_from_container (& self , container : i64 , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_control_from_container ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , container , control . as_arg_ptr ()) ; } } # [doc = "Removes the control from the dock. You have to manually [method Node.queue_free] the control."] # [doc = ""] # [inline] pub fn remove_control_from_docks (& self , control : impl AsArg < crate :: generated :: control :: Control >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_control_from_docks ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , control . as_arg_ptr ()) ; } } # [doc = "Removes a custom type added by [method add_custom_type]."] # [doc = ""] # [inline] pub fn remove_custom_type (& self , _type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_custom_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , _type . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_export_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_export_plugin :: EditorExportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_export_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_import_plugin (& self , importer : impl AsArg < crate :: generated :: editor_import_plugin :: EditorImportPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_inspector_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_inspector_plugin :: EditorInspectorPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_inspector_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_scene_import_plugin (& self , scene_importer : impl AsArg < crate :: generated :: editor_scene_importer :: EditorSceneImporter >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_scene_import_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , scene_importer . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_spatial_gizmo_plugin (& self , plugin : impl AsArg < crate :: generated :: editor_spatial_gizmo_plugin :: EditorSpatialGizmoPlugin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_spatial_gizmo_plugin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , plugin . as_arg_ptr ()) ; } } # [doc = "Removes a menu `name` from **Project > Tools**."] # [doc = ""] # [inline] pub fn remove_tool_menu_item (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . remove_tool_menu_item ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_force_draw_over_forwarding_enabled (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . set_force_draw_over_forwarding_enabled ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Use this method if you always want to receive inputs from 3D view screen inside [method forward_spatial_gui_input]. It might be especially usable if your plugin will want to use raycast in the scene."] # [doc = ""] # [inline] pub fn set_input_event_forwarding_always_enabled (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . set_input_event_forwarding_always_enabled ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Updates the overlays of the editor (2D/3D) viewport."] # [doc = ""] # [inline] pub fn update_overlays (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = EditorPluginMethodTable :: get (get_api ()) . update_overlays ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } } impl gdnative_core :: private :: godot_object :: Sealed for EditorPlugin { } unsafe impl GodotObject for EditorPlugin { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "EditorPlugin" } } impl QueueFree for EditorPlugin { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for EditorPlugin { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for EditorPlugin { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for EditorPlugin { } unsafe impl SubClass < crate :: generated :: object :: Object > for EditorPlugin { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct EditorPluginMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_autoload_singleton : * mut sys :: godot_method_bind , pub add_control_to_bottom_panel : * mut sys :: godot_method_bind , pub add_control_to_container : * mut sys :: godot_method_bind , pub add_control_to_dock : * mut sys :: godot_method_bind , pub add_custom_type : * mut sys :: godot_method_bind , pub add_export_plugin : * mut sys :: godot_method_bind , pub add_import_plugin : * mut sys :: godot_method_bind , pub add_inspector_plugin : * mut sys :: godot_method_bind , pub add_scene_import_plugin : * mut sys :: godot_method_bind , pub add_spatial_gizmo_plugin : * mut sys :: godot_method_bind , pub add_tool_menu_item : * mut sys :: godot_method_bind , pub add_tool_submenu_item : * mut sys :: godot_method_bind , pub get_editor_interface : * mut sys :: godot_method_bind , pub get_script_create_dialog : * mut sys :: godot_method_bind , pub get_undo_redo : * mut sys :: godot_method_bind , pub hide_bottom_panel : * mut sys :: godot_method_bind , pub make_bottom_panel_item_visible : * mut sys :: godot_method_bind , pub queue_save_layout : * mut sys :: godot_method_bind , pub remove_autoload_singleton : * mut sys :: godot_method_bind , pub remove_control_from_bottom_panel : * mut sys :: godot_method_bind , pub remove_control_from_container : * mut sys :: godot_method_bind , pub remove_control_from_docks : * mut sys :: godot_method_bind , pub remove_custom_type : * mut sys :: godot_method_bind , pub remove_export_plugin : * mut sys :: godot_method_bind , pub remove_import_plugin : * mut sys :: godot_method_bind , pub remove_inspector_plugin : * mut sys :: godot_method_bind , pub remove_scene_import_plugin : * mut sys :: godot_method_bind , pub remove_spatial_gizmo_plugin : * mut sys :: godot_method_bind , pub remove_tool_menu_item : * mut sys :: godot_method_bind , pub set_force_draw_over_forwarding_enabled : * mut sys :: godot_method_bind , pub set_input_event_forwarding_always_enabled : * mut sys :: godot_method_bind , pub update_overlays : * mut sys :: godot_method_bind } impl EditorPluginMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : EditorPluginMethodTable = EditorPluginMethodTable { class_constructor : None , add_autoload_singleton : 0 as * mut sys :: godot_method_bind , add_control_to_bottom_panel : 0 as * mut sys :: godot_method_bind , add_control_to_container : 0 as * mut sys :: godot_method_bind , add_control_to_dock : 0 as * mut sys :: godot_method_bind , add_custom_type : 0 as * mut sys :: godot_method_bind , add_export_plugin : 0 as * mut sys :: godot_method_bind , add_import_plugin : 0 as * mut sys :: godot_method_bind , add_inspector_plugin : 0 as * mut sys :: godot_method_bind , add_scene_import_plugin : 0 as * mut sys :: godot_method_bind , add_spatial_gizmo_plugin : 0 as * mut sys :: godot_method_bind , add_tool_menu_item : 0 as * mut sys :: godot_method_bind , add_tool_submenu_item : 0 as * mut sys :: godot_method_bind , get_editor_interface : 0 as * mut sys :: godot_method_bind , get_script_create_dialog : 0 as * mut sys :: godot_method_bind , get_undo_redo : 0 as * mut sys :: godot_method_bind , hide_bottom_panel : 0 as * mut sys :: godot_method_bind , make_bottom_panel_item_visible : 0 as * mut sys :: godot_method_bind , queue_save_layout : 0 as * mut sys :: godot_method_bind , remove_autoload_singleton : 0 as * mut sys :: godot_method_bind , remove_control_from_bottom_panel : 0 as * mut sys :: godot_method_bind , remove_control_from_container : 0 as * mut sys :: godot_method_bind , remove_control_from_docks : 0 as * mut sys :: godot_method_bind , remove_custom_type : 0 as * mut sys :: godot_method_bind , remove_export_plugin : 0 as * mut sys :: godot_method_bind , remove_import_plugin : 0 as * mut sys :: godot_method_bind , remove_inspector_plugin : 0 as * mut sys :: godot_method_bind , remove_scene_import_plugin : 0 as * mut sys :: godot_method_bind , remove_spatial_gizmo_plugin : 0 as * mut sys :: godot_method_bind , remove_tool_menu_item : 0 as * mut sys :: godot_method_bind , set_force_draw_over_forwarding_enabled : 0 as * mut sys :: godot_method_bind , set_input_event_forwarding_always_enabled : 0 as * mut sys :: godot_method_bind , update_overlays : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { EditorPluginMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "EditorPlugin\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_autoload_singleton = (gd_api . godot_method_bind_get_method) (class_name , "add_autoload_singleton\0" . as_ptr () as * const c_char) ; table . add_control_to_bottom_panel = (gd_api . godot_method_bind_get_method) (class_name , "add_control_to_bottom_panel\0" . as_ptr () as * const c_char) ; table . add_control_to_container = (gd_api . godot_method_bind_get_method) (class_name , "add_control_to_container\0" . as_ptr () as * const c_char) ; table . add_control_to_dock = (gd_api . godot_method_bind_get_method) (class_name , "add_control_to_dock\0" . as_ptr () as * const c_char) ; table . add_custom_type = (gd_api . godot_method_bind_get_method) (class_name , "add_custom_type\0" . as_ptr () as * const c_char) ; table . add_export_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_export_plugin\0" . as_ptr () as * const c_char) ; table . add_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_import_plugin\0" . as_ptr () as * const c_char) ; table . add_inspector_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_inspector_plugin\0" . as_ptr () as * const c_char) ; table . add_scene_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_scene_import_plugin\0" . as_ptr () as * const c_char) ; table . add_spatial_gizmo_plugin = (gd_api . godot_method_bind_get_method) (class_name , "add_spatial_gizmo_plugin\0" . as_ptr () as * const c_char) ; table . add_tool_menu_item = (gd_api . godot_method_bind_get_method) (class_name , "add_tool_menu_item\0" . as_ptr () as * const c_char) ; table . add_tool_submenu_item = (gd_api . godot_method_bind_get_method) (class_name , "add_tool_submenu_item\0" . as_ptr () as * const c_char) ; table . get_editor_interface = (gd_api . godot_method_bind_get_method) (class_name , "get_editor_interface\0" . as_ptr () as * const c_char) ; table . get_script_create_dialog = (gd_api . godot_method_bind_get_method) (class_name , "get_script_create_dialog\0" . as_ptr () as * const c_char) ; table . get_undo_redo = (gd_api . godot_method_bind_get_method) (class_name , "get_undo_redo\0" . as_ptr () as * const c_char) ; table . hide_bottom_panel = (gd_api . godot_method_bind_get_method) (class_name , "hide_bottom_panel\0" . as_ptr () as * const c_char) ; table . make_bottom_panel_item_visible = (gd_api . godot_method_bind_get_method) (class_name , "make_bottom_panel_item_visible\0" . as_ptr () as * const c_char) ; table . queue_save_layout = (gd_api . godot_method_bind_get_method) (class_name , "queue_save_layout\0" . as_ptr () as * const c_char) ; table . remove_autoload_singleton = (gd_api . godot_method_bind_get_method) (class_name , "remove_autoload_singleton\0" . as_ptr () as * const c_char) ; table . remove_control_from_bottom_panel = (gd_api . godot_method_bind_get_method) (class_name , "remove_control_from_bottom_panel\0" . as_ptr () as * const c_char) ; table . remove_control_from_container = (gd_api . godot_method_bind_get_method) (class_name , "remove_control_from_container\0" . as_ptr () as * const c_char) ; table . remove_control_from_docks = (gd_api . godot_method_bind_get_method) (class_name , "remove_control_from_docks\0" . as_ptr () as * const c_char) ; table . remove_custom_type = (gd_api . godot_method_bind_get_method) (class_name , "remove_custom_type\0" . as_ptr () as * const c_char) ; table . remove_export_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_export_plugin\0" . as_ptr () as * const c_char) ; table . remove_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_import_plugin\0" . as_ptr () as * const c_char) ; table . remove_inspector_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_inspector_plugin\0" . as_ptr () as * const c_char) ; table . remove_scene_import_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_scene_import_plugin\0" . as_ptr () as * const c_char) ; table . remove_spatial_gizmo_plugin = (gd_api . godot_method_bind_get_method) (class_name , "remove_spatial_gizmo_plugin\0" . as_ptr () as * const c_char) ; table . remove_tool_menu_item = (gd_api . godot_method_bind_get_method) (class_name , "remove_tool_menu_item\0" . as_ptr () as * const c_char) ; table . set_force_draw_over_forwarding_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_force_draw_over_forwarding_enabled\0" . as_ptr () as * const c_char) ; table . set_input_event_forwarding_always_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_input_event_forwarding_always_enabled\0" . as_ptr () as * const c_char) ; table . update_overlays = (gd_api . godot_method_bind_get_method) (class_name , "update_overlays\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:184:9585
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 # [doc = "`core class NetworkedMultiplayerPeer` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_networkedmultiplayerpeer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nNetworkedMultiplayerPeer inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct NetworkedMultiplayerPeer { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ConnectionStatus (pub i64) ; impl ConnectionStatus { pub const DISCONNECTED : ConnectionStatus = ConnectionStatus (0i64) ; pub const CONNECTING : ConnectionStatus = ConnectionStatus (1i64) ; pub const CONNECTED : ConnectionStatus = ConnectionStatus (2i64) ; } impl From < i64 > for ConnectionStatus { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ConnectionStatus > for i64 { # [inline] fn from (v : ConnectionStatus) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct TransferMode (pub i64) ; impl TransferMode { pub const UNRELIABLE : TransferMode = TransferMode (0i64) ; pub const UNRELIABLE_ORDERED : TransferMode = TransferMode (1i64) ; pub const RELIABLE : TransferMode = TransferMode (2i64) ; } impl From < i64 > for TransferMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < TransferMode > for i64 { # [inline] fn from (v : TransferMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl NetworkedMultiplayerPeer { pub const CONNECTION_CONNECTED : i64 = 2i64 ; pub const CONNECTION_CONNECTING : i64 = 1i64 ; pub const CONNECTION_DISCONNECTED : i64 = 0i64 ; pub const TARGET_PEER_BROADCAST : i64 = 0i64 ; pub const TARGET_PEER_SERVER : i64 = 1i64 ; pub const TRANSFER_MODE_RELIABLE : i64 = 2i64 ; pub const TRANSFER_MODE_UNRELIABLE : i64 = 0i64 ; pub const TRANSFER_MODE_UNRELIABLE_ORDERED : i64 = 1i64 ; } impl NetworkedMultiplayerPeer { # [doc = "Returns the current state of the connection. See [enum ConnectionStatus]."] # [doc = ""] # [inline] pub fn get_connection_status (& self) -> crate :: generated :: networked_multiplayer_peer :: ConnectionStatus { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_connection_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: networked_multiplayer_peer :: ConnectionStatus (ret) } } # [doc = "Returns the ID of the [NetworkedMultiplayerPeer] who sent the most recent packet."] # [doc = ""] # [inline] pub fn get_packet_peer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_packet_peer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The manner in which to send packets to the `target_peer`. See [enum TransferMode]."] # [doc = ""] # [inline] pub fn transfer_mode (& self) -> crate :: generated :: networked_multiplayer_peer :: TransferMode { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_transfer_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: networked_multiplayer_peer :: TransferMode (ret) } } # [doc = "Returns the ID of this [NetworkedMultiplayerPeer]."] # [doc = ""] # [inline] pub fn get_unique_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . get_unique_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, this [NetworkedMultiplayerPeer] refuses new connections."] # [doc = ""] # [inline] pub fn is_refusing_new_connections (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . is_refusing_new_connections ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Waits up to 1 second to receive a new network event."] # [doc = ""] # [inline] pub fn poll (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "If `true`, this [NetworkedMultiplayerPeer] refuses new connections."] # [doc = ""] # [inline] pub fn set_refuse_new_connections (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . set_refuse_new_connections ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Sets the peer to which packets will be sent.\nThe `id` can be one of: [constant TARGET_PEER_BROADCAST] to send to all connected peers, [constant TARGET_PEER_SERVER] to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. By default, the target peer is [constant TARGET_PEER_BROADCAST]."] # [doc = ""] # [inline] pub fn set_target_peer (& self , id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . set_target_peer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , id) ; } } # [doc = "The manner in which to send packets to the `target_peer`. See [enum TransferMode]."] # [doc = ""] # [inline] pub fn set_transfer_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = NetworkedMultiplayerPeerMethodTable :: get (get_api ()) . set_transfer_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for NetworkedMultiplayerPeer { } unsafe impl GodotObject for NetworkedMultiplayerPeer { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "NetworkedMultiplayerPeer" } } impl std :: ops :: Deref for NetworkedMultiplayerPeer { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for NetworkedMultiplayerPeer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for NetworkedMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for NetworkedMultiplayerPeer { } unsafe impl SubClass < crate :: generated :: object :: Object > for NetworkedMultiplayerPeer { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct NetworkedMultiplayerPeerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_connection_status : * mut sys :: godot_method_bind , pub get_packet_peer : * mut sys :: godot_method_bind , pub get_transfer_mode : * mut sys :: godot_method_bind , pub get_unique_id : * mut sys :: godot_method_bind , pub is_refusing_new_connections : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind , pub set_refuse_new_connections : * mut sys :: godot_method_bind , pub set_target_peer : * mut sys :: godot_method_bind , pub set_transfer_mode : * mut sys :: godot_method_bind } impl NetworkedMultiplayerPeerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : NetworkedMultiplayerPeerMethodTable = NetworkedMultiplayerPeerMethodTable { class_constructor : None , get_connection_status : 0 as * mut sys :: godot_method_bind , get_packet_peer : 0 as * mut sys :: godot_method_bind , get_transfer_mode : 0 as * mut sys :: godot_method_bind , get_unique_id : 0 as * mut sys :: godot_method_bind , is_refusing_new_connections : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind , set_refuse_new_connections : 0 as * mut sys :: godot_method_bind , set_target_peer : 0 as * mut sys :: godot_method_bind , set_transfer_mode : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { NetworkedMultiplayerPeerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "NetworkedMultiplayerPeer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_connection_status = (gd_api . godot_method_bind_get_method) (class_name , "get_connection_status\0" . as_ptr () as * const c_char) ; table . get_packet_peer = (gd_api . godot_method_bind_get_method) (class_name , "get_packet_peer\0" . as_ptr () as * const c_char) ; table . get_transfer_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_transfer_mode\0" . as_ptr () as * const c_char) ; table . get_unique_id = (gd_api . godot_method_bind_get_method) (class_name , "get_unique_id\0" . as_ptr () as * const c_char) ; table . is_refusing_new_connections = (gd_api . godot_method_bind_get_method) (class_name , "is_refusing_new_connections\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; table . set_refuse_new_connections = (gd_api . godot_method_bind_get_method) (class_name , "set_refuse_new_connections\0" . as_ptr () as * const c_char) ; table . set_target_peer = (gd_api . godot_method_bind_get_method) (class_name , "set_target_peer\0" . as_ptr () as * const c_char) ; table . set_transfer_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_transfer_mode\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:928:25426
[INFO] [stdout]     |
[INFO] [stdout] 928 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 928 |                 # [doc = "`core class Polygon2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_polygon2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`Polygon2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<Polygon2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPolygon2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct Polygon2D { this : RawObject < Self > , } impl Polygon2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = Polygon2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a bone with the specified `path` and `weights`."] # [doc = ""] # [inline] pub fn add_bone (& self , path : impl Into < NodePath > , weights : Float32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . add_bone ; let ret = crate :: icalls :: icallptr_void_nodepath_f32arr (method_bind , self . this . sys () . as_ptr () , path . into () , weights) ; } } # [doc = "Removes all bones from this [Polygon2D]."] # [doc = ""] # [inline] pub fn clear_bones (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . clear_bones ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Removes the specified bone from this [Polygon2D]."] # [doc = ""] # [inline] pub fn erase_bone (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . erase_bone ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "If `true`, polygon edges will be anti-aliased."] # [doc = ""] # [inline] pub fn antialiased (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_antialiased ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the number of bones in this [Polygon2D]."] # [doc = ""] # [inline] pub fn get_bone_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_bone_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the path to the node associated with the specified bone."] # [doc = ""] # [inline] pub fn get_bone_path (& self , index : i64) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_bone_path ; let ret = crate :: icalls :: icallptr_nodepath_i64 (method_bind , self . this . sys () . as_ptr () , index) ; NodePath :: from_sys (ret) } } # [doc = "Returns the height values of the specified bone."] # [doc = ""] # [inline] pub fn get_bone_weights (& self , index : i64) -> Float32Array { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_bone_weights ; let ret = crate :: icalls :: icallptr_f32arr_i64 (method_bind , self . this . sys () . as_ptr () , index) ; Float32Array :: from_sys (ret) } } # [doc = "The polygon's fill color. If `texture` is defined, it will be multiplied by this color. It will also be the default color for vertices not set in `vertex_colors`."] # [doc = ""] # [inline] pub fn color (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_color ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn internal_vertex_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_internal_vertex_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, polygon will be inverted, containing the area outside the defined points and extending to the `invert_border`."] # [doc = ""] # [inline] pub fn invert (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_invert ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Added padding applied to the bounding box when using `invert`. Setting this value too small may result in a \"Bad Polygon\" error."] # [doc = ""] # [inline] pub fn invert_border (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_invert_border ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The offset applied to each vertex."] # [doc = ""] # [inline] pub fn offset (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_offset ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The polygon's list of vertices. The final point will be connected to the first.\n**Note:** This returns a copy of the [PoolVector2Array] rather than a reference."] # [doc = ""] # [inline] pub fn polygon (& self) -> Vector2Array { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_polygon ; let ret = crate :: icalls :: icallptr_vec2arr (method_bind , self . this . sys () . as_ptr ()) ; Vector2Array :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn polygons (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_polygons ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = ""] # [doc = ""] # [inline] pub fn skeleton (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_skeleton ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "The polygon's fill texture. Use `uv` to set texture coordinates."] # [doc = ""] # [inline] pub fn texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Amount to offset the polygon's `texture`. If `(0, 0)` the texture's origin (its top-left corner) will be placed at the polygon's `position`."] # [doc = ""] # [inline] pub fn texture_offset (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_texture_offset ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The texture's rotation in radians."] # [doc = ""] # [inline] pub fn texture_rotation (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_texture_rotation ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The texture's rotation in degrees."] # [doc = ""] # [inline] pub fn texture_rotation_degrees (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_texture_rotation_degrees ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Amount to multiply the `uv` coordinates when using a `texture`. Larger values make the texture smaller, and vice versa."] # [doc = ""] # [inline] pub fn texture_scale (& self) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_texture_scale ; let ret = crate :: icalls :: icallptr_vec2 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Texture coordinates for each vertex of the polygon. There should be one `uv` per polygon vertex. If there are fewer, undefined vertices will use `(0, 0)`."] # [doc = ""] # [inline] pub fn uv (& self) -> Vector2Array { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_uv ; let ret = crate :: icalls :: icallptr_vec2arr (method_bind , self . this . sys () . as_ptr ()) ; Vector2Array :: from_sys (ret) } } # [doc = "Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use `color`."] # [doc = ""] # [inline] pub fn vertex_colors (& self) -> ColorArray { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . get_vertex_colors ; let ret = crate :: icalls :: icallptr_colorarr (method_bind , self . this . sys () . as_ptr ()) ; ColorArray :: from_sys (ret) } } # [doc = "If `true`, polygon edges will be anti-aliased."] # [doc = ""] # [inline] pub fn set_antialiased (& self , antialiased : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_antialiased ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , antialiased) ; } } # [doc = "Sets the path to the node associated with the specified bone."] # [doc = ""] # [inline] pub fn set_bone_path (& self , index : i64 , path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_bone_path ; let ret = crate :: icalls :: icallptr_void_i64_nodepath (method_bind , self . this . sys () . as_ptr () , index , path . into ()) ; } } # [doc = "Sets the weight values for the specified bone."] # [doc = ""] # [inline] pub fn set_bone_weights (& self , index : i64 , weights : Float32Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_bone_weights ; let ret = crate :: icalls :: icallptr_void_i64_f32arr (method_bind , self . this . sys () . as_ptr () , index , weights) ; } } # [doc = "The polygon's fill color. If `texture` is defined, it will be multiplied by this color. It will also be the default color for vertices not set in `vertex_colors`."] # [doc = ""] # [inline] pub fn set_color (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_color ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_internal_vertex_count (& self , internal_vertex_count : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_internal_vertex_count ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , internal_vertex_count) ; } } # [doc = "If `true`, polygon will be inverted, containing the area outside the defined points and extending to the `invert_border`."] # [doc = ""] # [inline] pub fn set_invert (& self , invert : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_invert ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , invert) ; } } # [doc = "Added padding applied to the bounding box when using `invert`. Setting this value too small may result in a \"Bad Polygon\" error."] # [doc = ""] # [inline] pub fn set_invert_border (& self , invert_border : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_invert_border ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , invert_border) ; } } # [doc = "The offset applied to each vertex."] # [doc = ""] # [inline] pub fn set_offset (& self , offset : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_offset ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "The polygon's list of vertices. The final point will be connected to the first.\n**Note:** This returns a copy of the [PoolVector2Array] rather than a reference."] # [doc = ""] # [inline] pub fn set_polygon (& self , polygon : Vector2Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_polygon ; let ret = crate :: icalls :: icallptr_void_vec2arr (method_bind , self . this . sys () . as_ptr () , polygon) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_polygons (& self , polygons : VariantArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_polygons ; let ret = crate :: icalls :: icallptr_void_arr (method_bind , self . this . sys () . as_ptr () , polygons) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_skeleton (& self , skeleton : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_skeleton ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , skeleton . into ()) ; } } # [doc = "The polygon's fill texture. Use `uv` to set texture coordinates."] # [doc = ""] # [inline] pub fn set_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } # [doc = "Amount to offset the polygon's `texture`. If `(0, 0)` the texture's origin (its top-left corner) will be placed at the polygon's `position`."] # [doc = ""] # [inline] pub fn set_texture_offset (& self , texture_offset : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_texture_offset ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , texture_offset) ; } } # [doc = "The texture's rotation in radians."] # [doc = ""] # [inline] pub fn set_texture_rotation (& self , texture_rotation : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_texture_rotation ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , texture_rotation) ; } } # [doc = "The texture's rotation in degrees."] # [doc = ""] # [inline] pub fn set_texture_rotation_degrees (& self , texture_rotation : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_texture_rotation_degrees ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , texture_rotation) ; } } # [doc = "Amount to multiply the `uv` coordinates when using a `texture`. Larger values make the texture smaller, and vice versa."] # [doc = ""] # [inline] pub fn set_texture_scale (& self , texture_scale : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_texture_scale ; let ret = crate :: icalls :: icallptr_void_vec2 (method_bind , self . this . sys () . as_ptr () , texture_scale) ; } } # [doc = "Texture coordinates for each vertex of the polygon. There should be one `uv` per polygon vertex. If there are fewer, undefined vertices will use `(0, 0)`."] # [doc = ""] # [inline] pub fn set_uv (& self , uv : Vector2Array) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_uv ; let ret = crate :: icalls :: icallptr_void_vec2arr (method_bind , self . this . sys () . as_ptr () , uv) ; } } # [doc = "Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use `color`."] # [doc = ""] # [inline] pub fn set_vertex_colors (& self , vertex_colors : ColorArray) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = Polygon2DMethodTable :: get (get_api ()) . set_vertex_colors ; let ret = crate :: icalls :: icallptr_void_colorarr (method_bind , self . this . sys () . as_ptr () , vertex_colors) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for Polygon2D { } unsafe impl GodotObject for Polygon2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "Polygon2D" } } impl QueueFree for Polygon2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for Polygon2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for Polygon2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for Polygon2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for Polygon2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for Polygon2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for Polygon2D { } impl Instanciable for Polygon2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { Polygon2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct Polygon2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_bone : * mut sys :: godot_method_bind , pub clear_bones : * mut sys :: godot_method_bind , pub erase_bone : * mut sys :: godot_method_bind , pub get_antialiased : * mut sys :: godot_method_bind , pub get_bone_count : * mut sys :: godot_method_bind , pub get_bone_path : * mut sys :: godot_method_bind , pub get_bone_weights : * mut sys :: godot_method_bind , pub get_color : * mut sys :: godot_method_bind , pub get_internal_vertex_count : * mut sys :: godot_method_bind , pub get_invert : * mut sys :: godot_method_bind , pub get_invert_border : * mut sys :: godot_method_bind , pub get_offset : * mut sys :: godot_method_bind , pub get_polygon : * mut sys :: godot_method_bind , pub get_polygons : * mut sys :: godot_method_bind , pub get_skeleton : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub get_texture_offset : * mut sys :: godot_method_bind , pub get_texture_rotation : * mut sys :: godot_method_bind , pub get_texture_rotation_degrees : * mut sys :: godot_method_bind , pub get_texture_scale : * mut sys :: godot_method_bind , pub get_uv : * mut sys :: godot_method_bind , pub get_vertex_colors : * mut sys :: godot_method_bind , pub set_antialiased : * mut sys :: godot_method_bind , pub set_bone_path : * mut sys :: godot_method_bind , pub set_bone_weights : * mut sys :: godot_method_bind , pub set_color : * mut sys :: godot_method_bind , pub set_internal_vertex_count : * mut sys :: godot_method_bind , pub set_invert : * mut sys :: godot_method_bind , pub set_invert_border : * mut sys :: godot_method_bind , pub set_offset : * mut sys :: godot_method_bind , pub set_polygon : * mut sys :: godot_method_bind , pub set_polygons : * mut sys :: godot_method_bind , pub set_skeleton : * mut sys :: godot_method_bind , pub set_texture : * mut sys :: godot_method_bind , pub set_texture_offset : * mut sys :: godot_method_bind , pub set_texture_rotation : * mut sys :: godot_method_bind , pub set_texture_rotation_degrees : * mut sys :: godot_method_bind , pub set_texture_scale : * mut sys :: godot_method_bind , pub set_uv : * mut sys :: godot_method_bind , pub set_vertex_colors : * mut sys :: godot_method_bind } impl Polygon2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : Polygon2DMethodTable = Polygon2DMethodTable { class_constructor : None , add_bone : 0 as * mut sys :: godot_method_bind , clear_bones : 0 as * mut sys :: godot_method_bind , erase_bone : 0 as * mut sys :: godot_method_bind , get_antialiased : 0 as * mut sys :: godot_method_bind , get_bone_count : 0 as * mut sys :: godot_method_bind , get_bone_path : 0 as * mut sys :: godot_method_bind , get_bone_weights : 0 as * mut sys :: godot_method_bind , get_color : 0 as * mut sys :: godot_method_bind , get_internal_vertex_count : 0 as * mut sys :: godot_method_bind , get_invert : 0 as * mut sys :: godot_method_bind , get_invert_border : 0 as * mut sys :: godot_method_bind , get_offset : 0 as * mut sys :: godot_method_bind , get_polygon : 0 as * mut sys :: godot_method_bind , get_polygons : 0 as * mut sys :: godot_method_bind , get_skeleton : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , get_texture_offset : 0 as * mut sys :: godot_method_bind , get_texture_rotation : 0 as * mut sys :: godot_method_bind , get_texture_rotation_degrees : 0 as * mut sys :: godot_method_bind , get_texture_scale : 0 as * mut sys :: godot_method_bind , get_uv : 0 as * mut sys :: godot_method_bind , get_vertex_colors : 0 as * mut sys :: godot_method_bind , set_antialiased : 0 as * mut sys :: godot_method_bind , set_bone_path : 0 as * mut sys :: godot_method_bind , set_bone_weights : 0 as * mut sys :: godot_method_bind , set_color : 0 as * mut sys :: godot_method_bind , set_internal_vertex_count : 0 as * mut sys :: godot_method_bind , set_invert : 0 as * mut sys :: godot_method_bind , set_invert_border : 0 as * mut sys :: godot_method_bind , set_offset : 0 as * mut sys :: godot_method_bind , set_polygon : 0 as * mut sys :: godot_method_bind , set_polygons : 0 as * mut sys :: godot_method_bind , set_skeleton : 0 as * mut sys :: godot_method_bind , set_texture : 0 as * mut sys :: godot_method_bind , set_texture_offset : 0 as * mut sys :: godot_method_bind , set_texture_rotation : 0 as * mut sys :: godot_method_bind , set_texture_rotation_degrees : 0 as * mut sys :: godot_method_bind , set_texture_scale : 0 as * mut sys :: godot_method_bind , set_uv : 0 as * mut sys :: godot_method_bind , set_vertex_colors : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { Polygon2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "Polygon2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_bone = (gd_api . godot_method_bind_get_method) (class_name , "add_bone\0" . as_ptr () as * const c_char) ; table . clear_bones = (gd_api . godot_method_bind_get_method) (class_name , "clear_bones\0" . as_ptr () as * const c_char) ; table . erase_bone = (gd_api . godot_method_bind_get_method) (class_name , "erase_bone\0" . as_ptr () as * const c_char) ; table . get_antialiased = (gd_api . godot_method_bind_get_method) (class_name , "get_antialiased\0" . as_ptr () as * const c_char) ; table . get_bone_count = (gd_api . godot_method_bind_get_method) (class_name , "get_bone_count\0" . as_ptr () as * const c_char) ; table . get_bone_path = (gd_api . godot_method_bind_get_method) (class_name , "get_bone_path\0" . as_ptr () as * const c_char) ; table . get_bone_weights = (gd_api . godot_method_bind_get_method) (class_name , "get_bone_weights\0" . as_ptr () as * const c_char) ; table . get_color = (gd_api . godot_method_bind_get_method) (class_name , "get_color\0" . as_ptr () as * const c_char) ; table . get_internal_vertex_count = (gd_api . godot_method_bind_get_method) (class_name , "get_internal_vertex_count\0" . as_ptr () as * const c_char) ; table . get_invert = (gd_api . godot_method_bind_get_method) (class_name , "get_invert\0" . as_ptr () as * const c_char) ; table . get_invert_border = (gd_api . godot_method_bind_get_method) (class_name , "get_invert_border\0" . as_ptr () as * const c_char) ; table . get_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_offset\0" . as_ptr () as * const c_char) ; table . get_polygon = (gd_api . godot_method_bind_get_method) (class_name , "get_polygon\0" . as_ptr () as * const c_char) ; table . get_polygons = (gd_api . godot_method_bind_get_method) (class_name , "get_polygons\0" . as_ptr () as * const c_char) ; table . get_skeleton = (gd_api . godot_method_bind_get_method) (class_name , "get_skeleton\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . get_texture_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_texture_offset\0" . as_ptr () as * const c_char) ; table . get_texture_rotation = (gd_api . godot_method_bind_get_method) (class_name , "get_texture_rotation\0" . as_ptr () as * const c_char) ; table . get_texture_rotation_degrees = (gd_api . godot_method_bind_get_method) (class_name , "get_texture_rotation_degrees\0" . as_ptr () as * const c_char) ; table . get_texture_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_texture_scale\0" . as_ptr () as * const c_char) ; table . get_uv = (gd_api . godot_method_bind_get_method) (class_name , "get_uv\0" . as_ptr () as * const c_char) ; table . get_vertex_colors = (gd_api . godot_method_bind_get_method) (class_name , "get_vertex_colors\0" . as_ptr () as * const c_char) ; table . set_antialiased = (gd_api . godot_method_bind_get_method) (class_name , "set_antialiased\0" . as_ptr () as * const c_char) ; table . set_bone_path = (gd_api . godot_method_bind_get_method) (class_name , "set_bone_path\0" . as_ptr () as * const c_char) ; table . set_bone_weights = (gd_api . godot_method_bind_get_method) (class_name , "set_bone_weights\0" . as_ptr () as * const c_char) ; table . set_color = (gd_api . godot_method_bind_get_method) (class_name , "set_color\0" . as_ptr () as * const c_char) ; table . set_internal_vertex_count = (gd_api . godot_method_bind_get_method) (class_name , "set_internal_vertex_count\0" . as_ptr () as * const c_char) ; table . set_invert = (gd_api . godot_method_bind_get_method) (class_name , "set_invert\0" . as_ptr () as * const c_char) ; table . set_invert_border = (gd_api . godot_method_bind_get_method) (class_name , "set_invert_border\0" . as_ptr () as * const c_char) ; table . set_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_offset\0" . as_ptr () as * const c_char) ; table . set_polygon = (gd_api . godot_method_bind_get_method) (class_name , "set_polygon\0" . as_ptr () as * const c_char) ; table . set_polygons = (gd_api . godot_method_bind_get_method) (class_name , "set_polygons\0" . as_ptr () as * const c_char) ; table . set_skeleton = (gd_api . godot_method_bind_get_method) (class_name , "set_skeleton\0" . as_ptr () as * const c_char) ; table . set_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_texture\0" . as_ptr () as * const c_char) ; table . set_texture_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_texture_offset\0" . as_ptr () as * const c_char) ; table . set_texture_rotation = (gd_api . godot_method_bind_get_method) (class_name , "set_texture_rotation\0" . as_ptr () as * const c_char) ; table . set_texture_rotation_degrees = (gd_api . godot_method_bind_get_method) (class_name , "set_texture_rotation_degrees\0" . as_ptr () as * const c_char) ; table . set_texture_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_texture_scale\0" . as_ptr () as * const c_char) ; table . set_uv = (gd_api . godot_method_bind_get_method) (class_name , "set_uv\0" . as_ptr () as * const c_char) ; table . set_vertex_colors = (gd_api . godot_method_bind_get_method) (class_name , "set_vertex_colors\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:934:8325
[INFO] [stdout]     |
[INFO] [stdout] 934 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 934 |                 # [doc = "`core class PrismMesh` inherits `PrimitiveMesh` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_prismmesh.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPrismMesh inherits methods from:\n - [PrimitiveMesh](struct.PrimitiveMesh.html)\n - [Mesh](struct.Mesh.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PrismMesh { this : RawObject < Self > , } impl PrismMesh { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PrismMeshMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Displacement of the upper edge along the X axis. 0.0 positions edge straight above the bottom-left edge."] # [doc = ""] # [inline] pub fn left_to_right (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . get_left_to_right ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Size of the prism."] # [doc = ""] # [inline] pub fn size (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . get_size ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "Number of added edge loops along the Z axis."] # [doc = ""] # [inline] pub fn subdivide_depth (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . get_subdivide_depth ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Number of added edge loops along the Y axis."] # [doc = ""] # [inline] pub fn subdivide_height (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . get_subdivide_height ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Number of added edge loops along the X axis."] # [doc = ""] # [inline] pub fn subdivide_width (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . get_subdivide_width ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Displacement of the upper edge along the X axis. 0.0 positions edge straight above the bottom-left edge."] # [doc = ""] # [inline] pub fn set_left_to_right (& self , left_to_right : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . set_left_to_right ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , left_to_right) ; } } # [doc = "Size of the prism."] # [doc = ""] # [inline] pub fn set_size (& self , size : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . set_size ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , size) ; } } # [doc = "Number of added edge loops along the Z axis."] # [doc = ""] # [inline] pub fn set_subdivide_depth (& self , segments : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . set_subdivide_depth ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , segments) ; } } # [doc = "Number of added edge loops along the Y axis."] # [doc = ""] # [inline] pub fn set_subdivide_height (& self , segments : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . set_subdivide_height ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , segments) ; } } # [doc = "Number of added edge loops along the X axis."] # [doc = ""] # [inline] pub fn set_subdivide_width (& self , segments : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PrismMeshMethodTable :: get (get_api ()) . set_subdivide_width ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , segments) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PrismMesh { } unsafe impl GodotObject for PrismMesh { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "PrismMesh" } } impl std :: ops :: Deref for PrismMesh { type Target = crate :: generated :: primitive_mesh :: PrimitiveMesh ; # [inline] fn deref (& self) -> & crate :: generated :: primitive_mesh :: PrimitiveMesh { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PrismMesh { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: primitive_mesh :: PrimitiveMesh { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: primitive_mesh :: PrimitiveMesh > for PrismMesh { } unsafe impl SubClass < crate :: generated :: mesh :: Mesh > for PrismMesh { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for PrismMesh { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for PrismMesh { } unsafe impl SubClass < crate :: generated :: object :: Object > for PrismMesh { } impl Instanciable for PrismMesh { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PrismMesh :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PrismMeshMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_left_to_right : * mut sys :: godot_method_bind , pub get_size : * mut sys :: godot_method_bind , pub get_subdivide_depth : * mut sys :: godot_method_bind , pub get_subdivide_height : * mut sys :: godot_method_bind , pub get_subdivide_width : * mut sys :: godot_method_bind , pub set_left_to_right : * mut sys :: godot_method_bind , pub set_size : * mut sys :: godot_method_bind , pub set_subdivide_depth : * mut sys :: godot_method_bind , pub set_subdivide_height : * mut sys :: godot_method_bind , pub set_subdivide_width : * mut sys :: godot_method_bind } impl PrismMeshMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PrismMeshMethodTable = PrismMeshMethodTable { class_constructor : None , get_left_to_right : 0 as * mut sys :: godot_method_bind , get_size : 0 as * mut sys :: godot_method_bind , get_subdivide_depth : 0 as * mut sys :: godot_method_bind , get_subdivide_height : 0 as * mut sys :: godot_method_bind , get_subdivide_width : 0 as * mut sys :: godot_method_bind , set_left_to_right : 0 as * mut sys :: godot_method_bind , set_size : 0 as * mut sys :: godot_method_bind , set_subdivide_depth : 0 as * mut sys :: godot_method_bind , set_subdivide_height : 0 as * mut sys :: godot_method_bind , set_subdivide_width : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PrismMeshMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PrismMesh\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_left_to_right = (gd_api . godot_method_bind_get_method) (class_name , "get_left_to_right\0" . as_ptr () as * const c_char) ; table . get_size = (gd_api . godot_method_bind_get_method) (class_name , "get_size\0" . as_ptr () as * const c_char) ; table . get_subdivide_depth = (gd_api . godot_method_bind_get_method) (class_name , "get_subdivide_depth\0" . as_ptr () as * const c_char) ; table . get_subdivide_height = (gd_api . godot_method_bind_get_method) (class_name , "get_subdivide_height\0" . as_ptr () as * const c_char) ; table . get_subdivide_width = (gd_api . godot_method_bind_get_method) (class_name , "get_subdivide_width\0" . as_ptr () as * const c_char) ; table . set_left_to_right = (gd_api . godot_method_bind_get_method) (class_name , "set_left_to_right\0" . as_ptr () as * const c_char) ; table . set_size = (gd_api . godot_method_bind_get_method) (class_name , "set_size\0" . as_ptr () as * const c_char) ; table . set_subdivide_depth = (gd_api . godot_method_bind_get_method) (class_name , "set_subdivide_depth\0" . as_ptr () as * const c_char) ; table . set_subdivide_height = (gd_api . godot_method_bind_get_method) (class_name , "set_subdivide_height\0" . as_ptr () as * const c_char) ; table . set_subdivide_width = (gd_api . godot_method_bind_get_method) (class_name , "set_subdivide_width\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:190:13763
[INFO] [stdout]     |
[INFO] [stdout] 190 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 # [doc = "`core class PathFollow2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_pathfollow2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`PathFollow2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<PathFollow2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nPathFollow2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PathFollow2D { this : RawObject < Self > , } impl PathFollow2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PathFollow2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve2D] of the [Path2D] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn cubic_interpolation (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_cubic_interpolation ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn h_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_h_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "How far to look ahead of the curve to calculate the tangent if the node is rotating. E.g. shorter lookaheads will lead to faster rotations."] # [doc = ""] # [inline] pub fn lookahead (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_lookahead ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The distance along the path in pixels."] # [doc = ""] # [inline] pub fn offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last). This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn unit_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_unit_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn v_offset (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . get_v_offset ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn has_loop (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . has_loop ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, this node rotates to follow the path, making its descendants rotate."] # [doc = ""] # [inline] pub fn is_rotating (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . is_rotating ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the position between two cached points is interpolated cubically, and linearly otherwise.\nThe points along the [Curve2D] of the [Path2D] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.\nThere are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations."] # [doc = ""] # [inline] pub fn set_cubic_interpolation (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_cubic_interpolation ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The node's offset along the curve."] # [doc = ""] # [inline] pub fn set_h_offset (& self , h_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_h_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , h_offset) ; } } # [doc = "How far to look ahead of the curve to calculate the tangent if the node is rotating. E.g. shorter lookaheads will lead to faster rotations."] # [doc = ""] # [inline] pub fn set_lookahead (& self , lookahead : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_lookahead ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , lookahead) ; } } # [doc = "If `true`, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths."] # [doc = ""] # [inline] pub fn set_loop (& self , _loop : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_loop ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , _loop) ; } } # [doc = "The distance along the path in pixels."] # [doc = ""] # [inline] pub fn set_offset (& self , offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , offset) ; } } # [doc = "If `true`, this node rotates to follow the path, making its descendants rotate."] # [doc = ""] # [inline] pub fn set_rotate (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_rotate ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "The distance along the path as a number in the range 0.0 (for the first vertex) to 1.0 (for the last). This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length."] # [doc = ""] # [inline] pub fn set_unit_offset (& self , unit_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_unit_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , unit_offset) ; } } # [doc = "The node's offset perpendicular to the curve."] # [doc = ""] # [inline] pub fn set_v_offset (& self , v_offset : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PathFollow2DMethodTable :: get (get_api ()) . set_v_offset ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , v_offset) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PathFollow2D { } unsafe impl GodotObject for PathFollow2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "PathFollow2D" } } impl QueueFree for PathFollow2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for PathFollow2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PathFollow2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for PathFollow2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for PathFollow2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for PathFollow2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for PathFollow2D { } impl Instanciable for PathFollow2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PathFollow2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PathFollow2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cubic_interpolation : * mut sys :: godot_method_bind , pub get_h_offset : * mut sys :: godot_method_bind , pub get_lookahead : * mut sys :: godot_method_bind , pub get_offset : * mut sys :: godot_method_bind , pub get_unit_offset : * mut sys :: godot_method_bind , pub get_v_offset : * mut sys :: godot_method_bind , pub has_loop : * mut sys :: godot_method_bind , pub is_rotating : * mut sys :: godot_method_bind , pub set_cubic_interpolation : * mut sys :: godot_method_bind , pub set_h_offset : * mut sys :: godot_method_bind , pub set_lookahead : * mut sys :: godot_method_bind , pub set_loop : * mut sys :: godot_method_bind , pub set_offset : * mut sys :: godot_method_bind , pub set_rotate : * mut sys :: godot_method_bind , pub set_unit_offset : * mut sys :: godot_method_bind , pub set_v_offset : * mut sys :: godot_method_bind } impl PathFollow2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PathFollow2DMethodTable = PathFollow2DMethodTable { class_constructor : None , get_cubic_interpolation : 0 as * mut sys :: godot_method_bind , get_h_offset : 0 as * mut sys :: godot_method_bind , get_lookahead : 0 as * mut sys :: godot_method_bind , get_offset : 0 as * mut sys :: godot_method_bind , get_unit_offset : 0 as * mut sys :: godot_method_bind , get_v_offset : 0 as * mut sys :: godot_method_bind , has_loop : 0 as * mut sys :: godot_method_bind , is_rotating : 0 as * mut sys :: godot_method_bind , set_cubic_interpolation : 0 as * mut sys :: godot_method_bind , set_h_offset : 0 as * mut sys :: godot_method_bind , set_lookahead : 0 as * mut sys :: godot_method_bind , set_loop : 0 as * mut sys :: godot_method_bind , set_offset : 0 as * mut sys :: godot_method_bind , set_rotate : 0 as * mut sys :: godot_method_bind , set_unit_offset : 0 as * mut sys :: godot_method_bind , set_v_offset : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PathFollow2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PathFollow2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "get_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . get_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_h_offset\0" . as_ptr () as * const c_char) ; table . get_lookahead = (gd_api . godot_method_bind_get_method) (class_name , "get_lookahead\0" . as_ptr () as * const c_char) ; table . get_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_offset\0" . as_ptr () as * const c_char) ; table . get_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_unit_offset\0" . as_ptr () as * const c_char) ; table . get_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "get_v_offset\0" . as_ptr () as * const c_char) ; table . has_loop = (gd_api . godot_method_bind_get_method) (class_name , "has_loop\0" . as_ptr () as * const c_char) ; table . is_rotating = (gd_api . godot_method_bind_get_method) (class_name , "is_rotating\0" . as_ptr () as * const c_char) ; table . set_cubic_interpolation = (gd_api . godot_method_bind_get_method) (class_name , "set_cubic_interpolation\0" . as_ptr () as * const c_char) ; table . set_h_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_h_offset\0" . as_ptr () as * const c_char) ; table . set_lookahead = (gd_api . godot_method_bind_get_method) (class_name , "set_lookahead\0" . as_ptr () as * const c_char) ; table . set_loop = (gd_api . godot_method_bind_get_method) (class_name , "set_loop\0" . as_ptr () as * const c_char) ; table . set_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_offset\0" . as_ptr () as * const c_char) ; table . set_rotate = (gd_api . godot_method_bind_get_method) (class_name , "set_rotate\0" . as_ptr () as * const c_char) ; table . set_unit_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_unit_offset\0" . as_ptr () as * const c_char) ; table . set_v_offset = (gd_api . godot_method_bind_get_method) (class_name , "set_v_offset\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:940:7568
[INFO] [stdout]     |
[INFO] [stdout] 940 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 940 |                 # [doc = "`core class AnimationNodeStateMachinePlayback` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnodestatemachineplayback.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNodeStateMachinePlayback inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNodeStateMachinePlayback { this : RawObject < Self > , } impl AnimationNodeStateMachinePlayback { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeStateMachinePlaybackMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_current_length (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . get_current_length ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the currently playing animation state."] # [doc = ""] # [inline] pub fn get_current_node (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . get_current_node ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_current_play_position (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . get_current_play_position ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns the current travel path as computed internally by the A* algorithm."] # [doc = ""] # [inline] pub fn get_travel_path (& self) -> StringArray { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . get_travel_path ; let ret = crate :: icalls :: icallptr_strarr (method_bind , self . this . sys () . as_ptr ()) ; StringArray :: from_sys (ret) } } # [doc = "Returns `true` if an animation is playing."] # [doc = ""] # [inline] pub fn is_playing (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . is_playing ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Starts playing the given animation."] # [doc = ""] # [inline] pub fn start (& self , node : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . start ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , node . into ()) ; } } # [doc = "Stops the currently playing animation."] # [doc = ""] # [inline] pub fn stop (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . stop ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Transitions from the current state to another one, following the shortest path."] # [doc = ""] # [inline] pub fn travel (& self , to_node : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeStateMachinePlaybackMethodTable :: get (get_api ()) . travel ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , to_node . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNodeStateMachinePlayback { } unsafe impl GodotObject for AnimationNodeStateMachinePlayback { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNodeStateMachinePlayback" } } impl std :: ops :: Deref for AnimationNodeStateMachinePlayback { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNodeStateMachinePlayback { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNodeStateMachinePlayback { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNodeStateMachinePlayback { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNodeStateMachinePlayback { } impl Instanciable for AnimationNodeStateMachinePlayback { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNodeStateMachinePlayback :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeStateMachinePlaybackMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_current_length : * mut sys :: godot_method_bind , pub get_current_node : * mut sys :: godot_method_bind , pub get_current_play_position : * mut sys :: godot_method_bind , pub get_travel_path : * mut sys :: godot_method_bind , pub is_playing : * mut sys :: godot_method_bind , pub start : * mut sys :: godot_method_bind , pub stop : * mut sys :: godot_method_bind , pub travel : * mut sys :: godot_method_bind } impl AnimationNodeStateMachinePlaybackMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeStateMachinePlaybackMethodTable = AnimationNodeStateMachinePlaybackMethodTable { class_constructor : None , get_current_length : 0 as * mut sys :: godot_method_bind , get_current_node : 0 as * mut sys :: godot_method_bind , get_current_play_position : 0 as * mut sys :: godot_method_bind , get_travel_path : 0 as * mut sys :: godot_method_bind , is_playing : 0 as * mut sys :: godot_method_bind , start : 0 as * mut sys :: godot_method_bind , stop : 0 as * mut sys :: godot_method_bind , travel : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeStateMachinePlaybackMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNodeStateMachinePlayback\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_current_length = (gd_api . godot_method_bind_get_method) (class_name , "get_current_length\0" . as_ptr () as * const c_char) ; table . get_current_node = (gd_api . godot_method_bind_get_method) (class_name , "get_current_node\0" . as_ptr () as * const c_char) ; table . get_current_play_position = (gd_api . godot_method_bind_get_method) (class_name , "get_current_play_position\0" . as_ptr () as * const c_char) ; table . get_travel_path = (gd_api . godot_method_bind_get_method) (class_name , "get_travel_path\0" . as_ptr () as * const c_char) ; table . is_playing = (gd_api . godot_method_bind_get_method) (class_name , "is_playing\0" . as_ptr () as * const c_char) ; table . start = (gd_api . godot_method_bind_get_method) (class_name , "start\0" . as_ptr () as * const c_char) ; table . stop = (gd_api . godot_method_bind_get_method) (class_name , "stop\0" . as_ptr () as * const c_char) ; table . travel = (gd_api . godot_method_bind_get_method) (class_name , "travel\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:196:13139
[INFO] [stdout]     |
[INFO] [stdout] 196 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 # [doc = "`core class AnimationTree` inherits `Node` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationtree.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`AnimationTree` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<AnimationTree>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nAnimationTree inherits methods from:\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationTree { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct AnimationProcessMode (pub i64) ; impl AnimationProcessMode { pub const PHYSICS : AnimationProcessMode = AnimationProcessMode (0i64) ; pub const IDLE : AnimationProcessMode = AnimationProcessMode (1i64) ; pub const MANUAL : AnimationProcessMode = AnimationProcessMode (2i64) ; } impl From < i64 > for AnimationProcessMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < AnimationProcessMode > for i64 { # [inline] fn from (v : AnimationProcessMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AnimationTree { pub const ANIMATION_PROCESS_IDLE : i64 = 1i64 ; pub const ANIMATION_PROCESS_MANUAL : i64 = 2i64 ; pub const ANIMATION_PROCESS_PHYSICS : i64 = 0i64 ; } impl AnimationTree { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationTreeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Manually advance the animations by the specified time (in seconds)."] # [doc = ""] # [inline] pub fn advance (& self , delta : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . advance ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , delta) ; } } # [doc = "The path to the [AnimationPlayer] used for animating."] # [doc = ""] # [inline] pub fn animation_player (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_animation_player ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "The process mode of this [AnimationTree]. See [enum AnimationProcessMode] for available modes."] # [doc = ""] # [inline] pub fn process_mode (& self) -> crate :: generated :: animation_tree :: AnimationProcessMode { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_process_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: animation_tree :: AnimationProcessMode (ret) } } # [doc = "The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by `\":\"`. For example, `\"character/skeleton:ankle\"` or `\"character/mesh:transform/local\"`.\nIf the track has type [constant Animation.TYPE_TRANSFORM], the transformation will be cancelled visually, and the animation will appear to stay in place."] # [doc = ""] # [inline] pub fn root_motion_track (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_root_motion_track ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "Retrieve the motion of the [member root_motion_track] as a [Transform] that can be used elsewhere. If [member root_motion_track] is not a path to a track of type [constant Animation.TYPE_TRANSFORM], returns an identity transformation."] # [doc = ""] # [inline] pub fn get_root_motion_transform (& self) -> Transform { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_root_motion_transform ; let ret = crate :: icalls :: icallptr_trans (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The root animation node of this [AnimationTree]. See [AnimationNode]."] # [doc = ""] # [inline] pub fn tree_root (& self) -> Option < Ref < crate :: generated :: animation_node :: AnimationNode , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . get_tree_root ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: animation_node :: AnimationNode , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "If `true`, the [AnimationTree] will be processing."] # [doc = ""] # [inline] pub fn is_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . is_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn rename_parameter (& self , old_name : impl Into < GodotString > , new_name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . rename_parameter ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , old_name . into () , new_name . into ()) ; } } # [doc = "If `true`, the [AnimationTree] will be processing."] # [doc = ""] # [inline] pub fn set_active (& self , active : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_active ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , active) ; } } # [doc = "The path to the [AnimationPlayer] used for animating."] # [doc = ""] # [inline] pub fn set_animation_player (& self , root : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_animation_player ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , root . into ()) ; } } # [doc = "The process mode of this [AnimationTree]. See [enum AnimationProcessMode] for available modes."] # [doc = ""] # [inline] pub fn set_process_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_process_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by `\":\"`. For example, `\"character/skeleton:ankle\"` or `\"character/mesh:transform/local\"`.\nIf the track has type [constant Animation.TYPE_TRANSFORM], the transformation will be cancelled visually, and the animation will appear to stay in place."] # [doc = ""] # [inline] pub fn set_root_motion_track (& self , path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_root_motion_track ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , path . into ()) ; } } # [doc = "The root animation node of this [AnimationTree]. See [AnimationNode]."] # [doc = ""] # [inline] pub fn set_tree_root (& self , root : impl AsArg < crate :: generated :: animation_node :: AnimationNode >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationTreeMethodTable :: get (get_api ()) . set_tree_root ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , root . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationTree { } unsafe impl GodotObject for AnimationTree { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "AnimationTree" } } impl QueueFree for AnimationTree { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for AnimationTree { type Target = crate :: generated :: node :: Node ; # [inline] fn deref (& self) -> & crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationTree { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node :: Node { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node :: Node > for AnimationTree { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationTree { } impl Instanciable for AnimationTree { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationTree :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationTreeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub advance : * mut sys :: godot_method_bind , pub get_animation_player : * mut sys :: godot_method_bind , pub get_process_mode : * mut sys :: godot_method_bind , pub get_root_motion_track : * mut sys :: godot_method_bind , pub get_root_motion_transform : * mut sys :: godot_method_bind , pub get_tree_root : * mut sys :: godot_method_bind , pub is_active : * mut sys :: godot_method_bind , pub rename_parameter : * mut sys :: godot_method_bind , pub set_active : * mut sys :: godot_method_bind , pub set_animation_player : * mut sys :: godot_method_bind , pub set_process_mode : * mut sys :: godot_method_bind , pub set_root_motion_track : * mut sys :: godot_method_bind , pub set_tree_root : * mut sys :: godot_method_bind } impl AnimationTreeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationTreeMethodTable = AnimationTreeMethodTable { class_constructor : None , advance : 0 as * mut sys :: godot_method_bind , get_animation_player : 0 as * mut sys :: godot_method_bind , get_process_mode : 0 as * mut sys :: godot_method_bind , get_root_motion_track : 0 as * mut sys :: godot_method_bind , get_root_motion_transform : 0 as * mut sys :: godot_method_bind , get_tree_root : 0 as * mut sys :: godot_method_bind , is_active : 0 as * mut sys :: godot_method_bind , rename_parameter : 0 as * mut sys :: godot_method_bind , set_active : 0 as * mut sys :: godot_method_bind , set_animation_player : 0 as * mut sys :: godot_method_bind , set_process_mode : 0 as * mut sys :: godot_method_bind , set_root_motion_track : 0 as * mut sys :: godot_method_bind , set_tree_root : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationTreeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationTree\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . advance = (gd_api . godot_method_bind_get_method) (class_name , "advance\0" . as_ptr () as * const c_char) ; table . get_animation_player = (gd_api . godot_method_bind_get_method) (class_name , "get_animation_player\0" . as_ptr () as * const c_char) ; table . get_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_process_mode\0" . as_ptr () as * const c_char) ; table . get_root_motion_track = (gd_api . godot_method_bind_get_method) (class_name , "get_root_motion_track\0" . as_ptr () as * const c_char) ; table . get_root_motion_transform = (gd_api . godot_method_bind_get_method) (class_name , "get_root_motion_transform\0" . as_ptr () as * const c_char) ; table . get_tree_root = (gd_api . godot_method_bind_get_method) (class_name , "get_tree_root\0" . as_ptr () as * const c_char) ; table . is_active = (gd_api . godot_method_bind_get_method) (class_name , "is_active\0" . as_ptr () as * const c_char) ; table . rename_parameter = (gd_api . godot_method_bind_get_method) (class_name , "rename_parameter\0" . as_ptr () as * const c_char) ; table . set_active = (gd_api . godot_method_bind_get_method) (class_name , "set_active\0" . as_ptr () as * const c_char) ; table . set_animation_player = (gd_api . godot_method_bind_get_method) (class_name , "set_animation_player\0" . as_ptr () as * const c_char) ; table . set_process_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_process_mode\0" . as_ptr () as * const c_char) ; table . set_root_motion_track = (gd_api . godot_method_bind_get_method) (class_name , "set_root_motion_track\0" . as_ptr () as * const c_char) ; table . set_tree_root = (gd_api . godot_method_bind_get_method) (class_name , "set_tree_root\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:202:3666
[INFO] [stdout]     |
[INFO] [stdout] 202 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 # [doc = "`core singleton class JavaScript` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_javascript.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nJavaScript inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct JavaScript { this : RawObject < Self > , } impl JavaScript { # [doc = "Returns a reference to the singleton instance."] # [inline] pub fn godot_singleton () -> & 'static Self { unsafe { let this = (get_api () . godot_global_get_singleton) ("JavaScript\0" . as_ptr () as * mut _) ; let this = ptr :: NonNull :: new (this) . expect ("singleton should not be null") ; let this = RawObject :: from_sys_ref_unchecked :: < 'static > (this) ; Self :: cast_ref (this) } } # [doc = "Execute the string `code` as JavaScript code within the browser window. This is a call to the actual global JavaScript function `eval()`.\nIf `use_global_execution_context` is `true`, the code will be evaluated in the global execution context. Otherwise, it is evaluated in the execution context of a function within the engine's runtime environment.\n# Default Arguments\n* `use_global_execution_context` - `false`"] # [doc = ""] # [inline] pub fn eval (& self , code : impl Into < GodotString > , use_global_execution_context : bool) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = JavaScriptMethodTable :: get (get_api ()) . eval ; let ret = crate :: icalls :: icallptr_var_str_bool (method_bind , self . this . sys () . as_ptr () , code . into () , use_global_execution_context) ; Variant :: from_sys (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for JavaScript { } unsafe impl GodotObject for JavaScript { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "JavaScript" } } impl std :: ops :: Deref for JavaScript { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for JavaScript { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for JavaScript { } unsafe impl Send for JavaScript { } unsafe impl Sync for JavaScript { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct JavaScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub eval : * mut sys :: godot_method_bind } impl JavaScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : JavaScriptMethodTable = JavaScriptMethodTable { class_constructor : None , eval : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { JavaScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "JavaScript\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . eval = (gd_api . godot_method_bind_get_method) (class_name , "eval\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:208:9838
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 # [doc = "`core singleton class InputMap` inherits `Object` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_inputmap.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = ""] # [doc = "\n## Class hierarchy\n\nInputMap inherits methods from:\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct InputMap { this : RawObject < Self > , } impl InputMap { # [doc = "Returns a reference to the singleton instance."] # [inline] pub fn godot_singleton () -> & 'static Self { unsafe { let this = (get_api () . godot_global_get_singleton) ("InputMap\0" . as_ptr () as * mut _) ; let this = ptr :: NonNull :: new (this) . expect ("singleton should not be null") ; let this = RawObject :: from_sys_ref_unchecked :: < 'static > (this) ; Self :: cast_ref (this) } } # [doc = "Adds an [InputEvent] to an action. This [InputEvent] will trigger the action."] # [doc = ""] # [inline] pub fn action_add_event (& self , action : impl Into < GodotString > , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_add_event ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , action . into () , event . as_arg_ptr ()) ; } } # [doc = "Removes an [InputEvent] from an action."] # [doc = ""] # [inline] pub fn action_erase_event (& self , action : impl Into < GodotString > , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_erase_event ; let ret = crate :: icalls :: icallptr_void_str_obj (method_bind , self . this . sys () . as_ptr () , action . into () , event . as_arg_ptr ()) ; } } # [doc = "Removes all events from an action."] # [doc = ""] # [inline] pub fn action_erase_events (& self , action : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_erase_events ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; } } # [doc = "Returns `true` if the action has the given [InputEvent] associated with it."] # [doc = ""] # [inline] pub fn action_has_event (& self , action : impl Into < GodotString > , event : impl AsArg < crate :: generated :: input_event :: InputEvent >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_has_event ; let ret = crate :: icalls :: icallptr_bool_str_obj (method_bind , self . this . sys () . as_ptr () , action . into () , event . as_arg_ptr ()) ; ret as _ } } # [doc = "Sets a deadzone value for the action."] # [doc = ""] # [inline] pub fn action_set_deadzone (& self , action : impl Into < GodotString > , deadzone : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . action_set_deadzone ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , action . into () , deadzone) ; } } # [doc = "Adds an empty action to the [InputMap] with a configurable `deadzone`.\nAn [InputEvent] can then be added to this action with [method action_add_event].\n# Default Arguments\n* `deadzone` - `0.5`"] # [doc = ""] # [inline] pub fn add_action (& self , action : impl Into < GodotString > , deadzone : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . add_action ; let ret = crate :: icalls :: icallptr_void_str_f64 (method_bind , self . this . sys () . as_ptr () , action . into () , deadzone) ; } } # [doc = "Removes an action from the [InputMap]."] # [doc = ""] # [inline] pub fn erase_action (& self , action : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . erase_action ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; } } # [doc = "Returns `true` if the given event is part of an existing action. This method ignores keyboard modifiers if the given [InputEvent] is not pressed (for proper release detection). See [method action_has_event] if you don't want this behavior."] # [doc = ""] # [inline] pub fn event_is_action (& self , event : impl AsArg < crate :: generated :: input_event :: InputEvent > , action : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . event_is_action ; let ret = crate :: icalls :: icallptr_bool_obj_str (method_bind , self . this . sys () . as_ptr () , event . as_arg_ptr () , action . into ()) ; ret as _ } } # [doc = "Returns an array of [InputEvent]s associated with a given action."] # [doc = ""] # [inline] pub fn get_action_list (& self , action : impl Into < GodotString >) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . get_action_list ; let ret = crate :: icalls :: icallvar__str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns an array of all actions in the [InputMap]."] # [doc = ""] # [inline] pub fn get_actions (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . get_actions ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "Returns `true` if the [InputMap] has a registered action with the given name."] # [doc = ""] # [inline] pub fn has_action (& self , action : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . has_action ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , action . into ()) ; ret as _ } } # [doc = "Clears all [InputEventAction] in the [InputMap] and load it anew from [ProjectSettings]."] # [doc = ""] # [inline] pub fn load_from_globals (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = InputMapMethodTable :: get (get_api ()) . load_from_globals ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for InputMap { } unsafe impl GodotObject for InputMap { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "InputMap" } } impl std :: ops :: Deref for InputMap { type Target = crate :: generated :: object :: Object ; # [inline] fn deref (& self) -> & crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for InputMap { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: object :: Object { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: object :: Object > for InputMap { } unsafe impl Send for InputMap { } unsafe impl Sync for InputMap { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct InputMapMethodTable { pub class_constructor : sys :: godot_class_constructor , pub action_add_event : * mut sys :: godot_method_bind , pub action_erase_event : * mut sys :: godot_method_bind , pub action_erase_events : * mut sys :: godot_method_bind , pub action_has_event : * mut sys :: godot_method_bind , pub action_set_deadzone : * mut sys :: godot_method_bind , pub add_action : * mut sys :: godot_method_bind , pub erase_action : * mut sys :: godot_method_bind , pub event_is_action : * mut sys :: godot_method_bind , pub get_action_list : * mut sys :: godot_method_bind , pub get_actions : * mut sys :: godot_method_bind , pub has_action : * mut sys :: godot_method_bind , pub load_from_globals : * mut sys :: godot_method_bind } impl InputMapMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : InputMapMethodTable = InputMapMethodTable { class_constructor : None , action_add_event : 0 as * mut sys :: godot_method_bind , action_erase_event : 0 as * mut sys :: godot_method_bind , action_erase_events : 0 as * mut sys :: godot_method_bind , action_has_event : 0 as * mut sys :: godot_method_bind , action_set_deadzone : 0 as * mut sys :: godot_method_bind , add_action : 0 as * mut sys :: godot_method_bind , erase_action : 0 as * mut sys :: godot_method_bind , event_is_action : 0 as * mut sys :: godot_method_bind , get_action_list : 0 as * mut sys :: godot_method_bind , get_actions : 0 as * mut sys :: godot_method_bind , has_action : 0 as * mut sys :: godot_method_bind , load_from_globals : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { InputMapMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "InputMap\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . action_add_event = (gd_api . godot_method_bind_get_method) (class_name , "action_add_event\0" . as_ptr () as * const c_char) ; table . action_erase_event = (gd_api . godot_method_bind_get_method) (class_name , "action_erase_event\0" . as_ptr () as * const c_char) ; table . action_erase_events = (gd_api . godot_method_bind_get_method) (class_name , "action_erase_events\0" . as_ptr () as * const c_char) ; table . action_has_event = (gd_api . godot_method_bind_get_method) (class_name , "action_has_event\0" . as_ptr () as * const c_char) ; table . action_set_deadzone = (gd_api . godot_method_bind_get_method) (class_name , "action_set_deadzone\0" . as_ptr () as * const c_char) ; table . add_action = (gd_api . godot_method_bind_get_method) (class_name , "add_action\0" . as_ptr () as * const c_char) ; table . erase_action = (gd_api . godot_method_bind_get_method) (class_name , "erase_action\0" . as_ptr () as * const c_char) ; table . event_is_action = (gd_api . godot_method_bind_get_method) (class_name , "event_is_action\0" . as_ptr () as * const c_char) ; table . get_action_list = (gd_api . godot_method_bind_get_method) (class_name , "get_action_list\0" . as_ptr () as * const c_char) ; table . get_actions = (gd_api . godot_method_bind_get_method) (class_name , "get_actions\0" . as_ptr () as * const c_char) ; table . has_action = (gd_api . godot_method_bind_get_method) (class_name , "has_action\0" . as_ptr () as * const c_char) ; table . load_from_globals = (gd_api . godot_method_bind_get_method) (class_name , "load_from_globals\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:946:26008
[INFO] [stdout]     |
[INFO] [stdout] 946 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 946 |                 # [doc = "`core class VisualScript` inherits `Script` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualscript.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualScript inherits methods from:\n - [Script](struct.Script.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualScript { this : RawObject < Self > , } impl VisualScript { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualScriptMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn add_custom_signal (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . add_custom_signal ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_function (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . add_function ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_node (& self , func : impl Into < GodotString > , id : i64 , node : impl AsArg < crate :: generated :: visual_script_node :: VisualScriptNode > , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . add_node ; let ret = crate :: icalls :: icallptr_void_str_i64_obj_vec2 (method_bind , self . this . sys () . as_ptr () , func . into () , id , node . as_arg_ptr () , position) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn add_variable (& self , name : impl Into < GodotString > , default_value : impl OwnedToVariant , export : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . add_variable ; let ret = crate :: icalls :: icallptr_void_str_var_bool (method_bind , self . this . sys () . as_ptr () , name . into () , default_value . owned_to_variant () , export) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_add_argument (& self , name : impl Into < GodotString > , _type : i64 , argname : impl Into < GodotString > , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_add_argument ; let ret = crate :: icalls :: icallptr_void_str_i64_str_i64 (method_bind , self . this . sys () . as_ptr () , name . into () , _type , argname . into () , index) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_get_argument_count (& self , name : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_get_argument_count ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_get_argument_name (& self , name : impl Into < GodotString > , argidx : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_get_argument_name ; let ret = crate :: icalls :: icallptr_str_str_i64 (method_bind , self . this . sys () . as_ptr () , name . into () , argidx) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_get_argument_type (& self , name : impl Into < GodotString > , argidx : i64) -> VariantType { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_get_argument_type ; let ret = crate :: icalls :: icallptr_i64_str_i64 (method_bind , self . this . sys () . as_ptr () , name . into () , argidx) ; VariantType :: from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_remove_argument (& self , name : impl Into < GodotString > , argidx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_remove_argument ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , name . into () , argidx) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_set_argument_name (& self , name : impl Into < GodotString > , argidx : i64 , argname : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_set_argument_name ; let ret = crate :: icalls :: icallptr_void_str_i64_str (method_bind , self . this . sys () . as_ptr () , name . into () , argidx , argname . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_set_argument_type (& self , name : impl Into < GodotString > , argidx : i64 , _type : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_set_argument_type ; let ret = crate :: icalls :: icallptr_void_str_i64_i64 (method_bind , self . this . sys () . as_ptr () , name . into () , argidx , _type) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn custom_signal_swap_argument (& self , name : impl Into < GodotString > , argidx : i64 , withidx : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . custom_signal_swap_argument ; let ret = crate :: icalls :: icallptr_void_str_i64_i64 (method_bind , self . this . sys () . as_ptr () , name . into () , argidx , withidx) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn data_connect (& self , func : impl Into < GodotString > , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . data_connect ; let ret = crate :: icalls :: icallptr_void_str_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , from_node , from_port , to_node , to_port) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn data_disconnect (& self , func : impl Into < GodotString > , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . data_disconnect ; let ret = crate :: icalls :: icallptr_void_str_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , from_node , from_port , to_node , to_port) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn get_function_node_id (& self , name : impl Into < GodotString >) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . get_function_node_id ; let ret = crate :: icalls :: icallptr_i64_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_function_scroll (& self , name : impl Into < GodotString >) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . get_function_scroll ; let ret = crate :: icalls :: icallptr_vec2_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_node (& self , func : impl Into < GodotString > , id : i64) -> Option < Ref < crate :: generated :: visual_script_node :: VisualScriptNode , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . get_node ; let ret = crate :: icalls :: icallptr_obj_str_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , id) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: visual_script_node :: VisualScriptNode , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_node_position (& self , func : impl Into < GodotString > , id : i64) -> Vector2 { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . get_node_position ; let ret = crate :: icalls :: icallptr_vec2_str_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , id) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_variable_default_value (& self , name : impl Into < GodotString >) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . get_variable_default_value ; let ret = crate :: icalls :: icallptr_var_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; Variant :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_variable_export (& self , name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . get_variable_export ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_variable_info (& self , name : impl Into < GodotString >) -> Dictionary { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . get_variable_info ; let ret = crate :: icalls :: icallptr_dict_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; Dictionary :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn has_custom_signal (& self , name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . has_custom_signal ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn has_data_connection (& self , func : impl Into < GodotString > , from_node : i64 , from_port : i64 , to_node : i64 , to_port : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . has_data_connection ; let ret = crate :: icalls :: icallptr_bool_str_i64_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , from_node , from_port , to_node , to_port) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn has_function (& self , name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . has_function ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn has_node (& self , func : impl Into < GodotString > , id : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . has_node ; let ret = crate :: icalls :: icallptr_bool_str_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , id) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn has_sequence_connection (& self , func : impl Into < GodotString > , from_node : i64 , from_output : i64 , to_node : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . has_sequence_connection ; let ret = crate :: icalls :: icallptr_bool_str_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , from_node , from_output , to_node) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn has_variable (& self , name : impl Into < GodotString >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . has_variable ; let ret = crate :: icalls :: icallptr_bool_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_custom_signal (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . remove_custom_signal ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_function (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . remove_function ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_node (& self , func : impl Into < GodotString > , id : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . remove_node ; let ret = crate :: icalls :: icallptr_void_str_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , id) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn remove_variable (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . remove_variable ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn rename_custom_signal (& self , name : impl Into < GodotString > , new_name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . rename_custom_signal ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , name . into () , new_name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn rename_function (& self , name : impl Into < GodotString > , new_name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . rename_function ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , name . into () , new_name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn rename_variable (& self , name : impl Into < GodotString > , new_name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . rename_variable ; let ret = crate :: icalls :: icallptr_void_str_str (method_bind , self . this . sys () . as_ptr () , name . into () , new_name . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn sequence_connect (& self , func : impl Into < GodotString > , from_node : i64 , from_output : i64 , to_node : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . sequence_connect ; let ret = crate :: icalls :: icallptr_void_str_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , from_node , from_output , to_node) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn sequence_disconnect (& self , func : impl Into < GodotString > , from_node : i64 , from_output : i64 , to_node : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . sequence_disconnect ; let ret = crate :: icalls :: icallptr_void_str_i64_i64_i64 (method_bind , self . this . sys () . as_ptr () , func . into () , from_node , from_output , to_node) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_function_scroll (& self , name : impl Into < GodotString > , ofs : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . set_function_scroll ; let ret = crate :: icalls :: icallptr_void_str_vec2 (method_bind , self . this . sys () . as_ptr () , name . into () , ofs) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_instance_base_type (& self , _type : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . set_instance_base_type ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , _type . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_node_position (& self , func : impl Into < GodotString > , id : i64 , position : Vector2) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . set_node_position ; let ret = crate :: icalls :: icallptr_void_str_i64_vec2 (method_bind , self . this . sys () . as_ptr () , func . into () , id , position) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_variable_default_value (& self , name : impl Into < GodotString > , value : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . set_variable_default_value ; let ret = crate :: icalls :: icallptr_void_str_var (method_bind , self . this . sys () . as_ptr () , name . into () , value . owned_to_variant ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_variable_export (& self , name : impl Into < GodotString > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . set_variable_export ; let ret = crate :: icalls :: icallptr_void_str_bool (method_bind , self . this . sys () . as_ptr () , name . into () , enable) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_variable_info (& self , name : impl Into < GodotString > , value : Dictionary) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VisualScriptMethodTable :: get (get_api ()) . set_variable_info ; let ret = crate :: icalls :: icallptr_void_str_dict (method_bind , self . this . sys () . as_ptr () , name . into () , value) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualScript { } unsafe impl GodotObject for VisualScript { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualScript" } } impl std :: ops :: Deref for VisualScript { type Target = crate :: generated :: script :: Script ; # [inline] fn deref (& self) -> & crate :: generated :: script :: Script { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualScript { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: script :: Script { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: script :: Script > for VisualScript { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualScript { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualScript { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualScript { } impl Instanciable for VisualScript { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualScript :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualScriptMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_custom_signal : * mut sys :: godot_method_bind , pub add_function : * mut sys :: godot_method_bind , pub add_node : * mut sys :: godot_method_bind , pub add_variable : * mut sys :: godot_method_bind , pub custom_signal_add_argument : * mut sys :: godot_method_bind , pub custom_signal_get_argument_count : * mut sys :: godot_method_bind , pub custom_signal_get_argument_name : * mut sys :: godot_method_bind , pub custom_signal_get_argument_type : * mut sys :: godot_method_bind , pub custom_signal_remove_argument : * mut sys :: godot_method_bind , pub custom_signal_set_argument_name : * mut sys :: godot_method_bind , pub custom_signal_set_argument_type : * mut sys :: godot_method_bind , pub custom_signal_swap_argument : * mut sys :: godot_method_bind , pub data_connect : * mut sys :: godot_method_bind , pub data_disconnect : * mut sys :: godot_method_bind , pub get_function_node_id : * mut sys :: godot_method_bind , pub get_function_scroll : * mut sys :: godot_method_bind , pub get_node : * mut sys :: godot_method_bind , pub get_node_position : * mut sys :: godot_method_bind , pub get_variable_default_value : * mut sys :: godot_method_bind , pub get_variable_export : * mut sys :: godot_method_bind , pub get_variable_info : * mut sys :: godot_method_bind , pub has_custom_signal : * mut sys :: godot_method_bind , pub has_data_connection : * mut sys :: godot_method_bind , pub has_function : * mut sys :: godot_method_bind , pub has_node : * mut sys :: godot_method_bind , pub has_sequence_connection : * mut sys :: godot_method_bind , pub has_variable : * mut sys :: godot_method_bind , pub remove_custom_signal : * mut sys :: godot_method_bind , pub remove_function : * mut sys :: godot_method_bind , pub remove_node : * mut sys :: godot_method_bind , pub remove_variable : * mut sys :: godot_method_bind , pub rename_custom_signal : * mut sys :: godot_method_bind , pub rename_function : * mut sys :: godot_method_bind , pub rename_variable : * mut sys :: godot_method_bind , pub sequence_connect : * mut sys :: godot_method_bind , pub sequence_disconnect : * mut sys :: godot_method_bind , pub set_function_scroll : * mut sys :: godot_method_bind , pub set_instance_base_type : * mut sys :: godot_method_bind , pub set_node_position : * mut sys :: godot_method_bind , pub set_variable_default_value : * mut sys :: godot_method_bind , pub set_variable_export : * mut sys :: godot_method_bind , pub set_variable_info : * mut sys :: godot_method_bind } impl VisualScriptMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualScriptMethodTable = VisualScriptMethodTable { class_constructor : None , add_custom_signal : 0 as * mut sys :: godot_method_bind , add_function : 0 as * mut sys :: godot_method_bind , add_node : 0 as * mut sys :: godot_method_bind , add_variable : 0 as * mut sys :: godot_method_bind , custom_signal_add_argument : 0 as * mut sys :: godot_method_bind , custom_signal_get_argument_count : 0 as * mut sys :: godot_method_bind , custom_signal_get_argument_name : 0 as * mut sys :: godot_method_bind , custom_signal_get_argument_type : 0 as * mut sys :: godot_method_bind , custom_signal_remove_argument : 0 as * mut sys :: godot_method_bind , custom_signal_set_argument_name : 0 as * mut sys :: godot_method_bind , custom_signal_set_argument_type : 0 as * mut sys :: godot_method_bind , custom_signal_swap_argument : 0 as * mut sys :: godot_method_bind , data_connect : 0 as * mut sys :: godot_method_bind , data_disconnect : 0 as * mut sys :: godot_method_bind , get_function_node_id : 0 as * mut sys :: godot_method_bind , get_function_scroll : 0 as * mut sys :: godot_method_bind , get_node : 0 as * mut sys :: godot_method_bind , get_node_position : 0 as * mut sys :: godot_method_bind , get_variable_default_value : 0 as * mut sys :: godot_method_bind , get_variable_export : 0 as * mut sys :: godot_method_bind , get_variable_info : 0 as * mut sys :: godot_method_bind , has_custom_signal : 0 as * mut sys :: godot_method_bind , has_data_connection : 0 as * mut sys :: godot_method_bind , has_function : 0 as * mut sys :: godot_method_bind , has_node : 0 as * mut sys :: godot_method_bind , has_sequence_connection : 0 as * mut sys :: godot_method_bind , has_variable : 0 as * mut sys :: godot_method_bind , remove_custom_signal : 0 as * mut sys :: godot_method_bind , remove_function : 0 as * mut sys :: godot_method_bind , remove_node : 0 as * mut sys :: godot_method_bind , remove_variable : 0 as * mut sys :: godot_method_bind , rename_custom_signal : 0 as * mut sys :: godot_method_bind , rename_function : 0 as * mut sys :: godot_method_bind , rename_variable : 0 as * mut sys :: godot_method_bind , sequence_connect : 0 as * mut sys :: godot_method_bind , sequence_disconnect : 0 as * mut sys :: godot_method_bind , set_function_scroll : 0 as * mut sys :: godot_method_bind , set_instance_base_type : 0 as * mut sys :: godot_method_bind , set_node_position : 0 as * mut sys :: godot_method_bind , set_variable_default_value : 0 as * mut sys :: godot_method_bind , set_variable_export : 0 as * mut sys :: godot_method_bind , set_variable_info : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualScriptMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualScript\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_custom_signal = (gd_api . godot_method_bind_get_method) (class_name , "add_custom_signal\0" . as_ptr () as * const c_char) ; table . add_function = (gd_api . godot_method_bind_get_method) (class_name , "add_function\0" . as_ptr () as * const c_char) ; table . add_node = (gd_api . godot_method_bind_get_method) (class_name , "add_node\0" . as_ptr () as * const c_char) ; table . add_variable = (gd_api . godot_method_bind_get_method) (class_name , "add_variable\0" . as_ptr () as * const c_char) ; table . custom_signal_add_argument = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_add_argument\0" . as_ptr () as * const c_char) ; table . custom_signal_get_argument_count = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_get_argument_count\0" . as_ptr () as * const c_char) ; table . custom_signal_get_argument_name = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_get_argument_name\0" . as_ptr () as * const c_char) ; table . custom_signal_get_argument_type = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_get_argument_type\0" . as_ptr () as * const c_char) ; table . custom_signal_remove_argument = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_remove_argument\0" . as_ptr () as * const c_char) ; table . custom_signal_set_argument_name = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_set_argument_name\0" . as_ptr () as * const c_char) ; table . custom_signal_set_argument_type = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_set_argument_type\0" . as_ptr () as * const c_char) ; table . custom_signal_swap_argument = (gd_api . godot_method_bind_get_method) (class_name , "custom_signal_swap_argument\0" . as_ptr () as * const c_char) ; table . data_connect = (gd_api . godot_method_bind_get_method) (class_name , "data_connect\0" . as_ptr () as * const c_char) ; table . data_disconnect = (gd_api . godot_method_bind_get_method) (class_name , "data_disconnect\0" . as_ptr () as * const c_char) ; table . get_function_node_id = (gd_api . godot_method_bind_get_method) (class_name , "get_function_node_id\0" . as_ptr () as * const c_char) ; table . get_function_scroll = (gd_api . godot_method_bind_get_method) (class_name , "get_function_scroll\0" . as_ptr () as * const c_char) ; table . get_node = (gd_api . godot_method_bind_get_method) (class_name , "get_node\0" . as_ptr () as * const c_char) ; table . get_node_position = (gd_api . godot_method_bind_get_method) (class_name , "get_node_position\0" . as_ptr () as * const c_char) ; table . get_variable_default_value = (gd_api . godot_method_bind_get_method) (class_name , "get_variable_default_value\0" . as_ptr () as * const c_char) ; table . get_variable_export = (gd_api . godot_method_bind_get_method) (class_name , "get_variable_export\0" . as_ptr () as * const c_char) ; table . get_variable_info = (gd_api . godot_method_bind_get_method) (class_name , "get_variable_info\0" . as_ptr () as * const c_char) ; table . has_custom_signal = (gd_api . godot_method_bind_get_method) (class_name , "has_custom_signal\0" . as_ptr () as * const c_char) ; table . has_data_connection = (gd_api . godot_method_bind_get_method) (class_name , "has_data_connection\0" . as_ptr () as * const c_char) ; table . has_function = (gd_api . godot_method_bind_get_method) (class_name , "has_function\0" . as_ptr () as * const c_char) ; table . has_node = (gd_api . godot_method_bind_get_method) (class_name , "has_node\0" . as_ptr () as * const c_char) ; table . has_sequence_connection = (gd_api . godot_method_bind_get_method) (class_name , "has_sequence_connection\0" . as_ptr () as * const c_char) ; table . has_variable = (gd_api . godot_method_bind_get_method) (class_name , "has_variable\0" . as_ptr () as * const c_char) ; table . remove_custom_signal = (gd_api . godot_method_bind_get_method) (class_name , "remove_custom_signal\0" . as_ptr () as * const c_char) ; table . remove_function = (gd_api . godot_method_bind_get_method) (class_name , "remove_function\0" . as_ptr () as * const c_char) ; table . remove_node = (gd_api . godot_method_bind_get_method) (class_name , "remove_node\0" . as_ptr () as * const c_char) ; table . remove_variable = (gd_api . godot_method_bind_get_method) (class_name , "remove_variable\0" . as_ptr () as * const c_char) ; table . rename_custom_signal = (gd_api . godot_method_bind_get_method) (class_name , "rename_custom_signal\0" . as_ptr () as * const c_char) ; table . rename_function = (gd_api . godot_method_bind_get_method) (class_name , "rename_function\0" . as_ptr () as * const c_char) ; table . rename_variable = (gd_api . godot_method_bind_get_method) (class_name , "rename_variable\0" . as_ptr () as * const c_char) ; table . sequence_connect = (gd_api . godot_method_bind_get_method) (class_name , "sequence_connect\0" . as_ptr () as * const c_char) ; table . sequence_disconnect = (gd_api . godot_method_bind_get_method) (class_name , "sequence_disconnect\0" . as_ptr () as * const c_char) ; table . set_function_scroll = (gd_api . godot_method_bind_get_method) (class_name , "set_function_scroll\0" . as_ptr () as * const c_char) ; table . set_instance_base_type = (gd_api . godot_method_bind_get_method) (class_name , "set_instance_base_type\0" . as_ptr () as * const c_char) ; table . set_node_position = (gd_api . godot_method_bind_get_method) (class_name , "set_node_position\0" . as_ptr () as * const c_char) ; table . set_variable_default_value = (gd_api . godot_method_bind_get_method) (class_name , "set_variable_default_value\0" . as_ptr () as * const c_char) ; table . set_variable_export = (gd_api . godot_method_bind_get_method) (class_name , "set_variable_export\0" . as_ptr () as * const c_char) ; table . set_variable_info = (gd_api . godot_method_bind_get_method) (class_name , "set_variable_info\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:952:3784
[INFO] [stdout]     |
[INFO] [stdout] 952 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 952 |                 # [doc = "`core class VisualShaderNodeScalarClamp` inherits `VisualShaderNode` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_visualshadernodescalarclamp.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVisualShaderNodeScalarClamp inherits methods from:\n - [VisualShaderNode](struct.VisualShaderNode.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VisualShaderNodeScalarClamp { this : RawObject < Self > , } impl VisualShaderNodeScalarClamp { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VisualShaderNodeScalarClampMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for VisualShaderNodeScalarClamp { } unsafe impl GodotObject for VisualShaderNodeScalarClamp { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VisualShaderNodeScalarClamp" } } impl std :: ops :: Deref for VisualShaderNodeScalarClamp { type Target = crate :: generated :: visual_shader_node :: VisualShaderNode ; # [inline] fn deref (& self) -> & crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VisualShaderNodeScalarClamp { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_shader_node :: VisualShaderNode { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_shader_node :: VisualShaderNode > for VisualShaderNodeScalarClamp { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VisualShaderNodeScalarClamp { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VisualShaderNodeScalarClamp { } unsafe impl SubClass < crate :: generated :: object :: Object > for VisualShaderNodeScalarClamp { } impl Instanciable for VisualShaderNodeScalarClamp { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VisualShaderNodeScalarClamp :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VisualShaderNodeScalarClampMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl VisualShaderNodeScalarClampMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VisualShaderNodeScalarClampMethodTable = VisualShaderNodeScalarClampMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VisualShaderNodeScalarClampMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VisualShaderNodeScalarClamp\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:958:9444
[INFO] [stdout]     |
[INFO] [stdout] 958 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 958 |                 # [doc = "`core class WebXRInterface` inherits `ARVRInterface` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_webxrinterface.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebXRInterface inherits methods from:\n - [ARVRInterface](struct.ARVRInterface.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebXRInterface { this : RawObject < Self > , } impl WebXRInterface { # [doc = ""] # [doc = ""] # [inline] pub fn bounds_geometry (& self) -> Vector3Array { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_bounds_geometry ; let ret = crate :: icalls :: icallptr_vec3arr (method_bind , self . this . sys () . as_ptr ()) ; Vector3Array :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_controller (& self , controller_id : i64) -> Option < Ref < crate :: generated :: arvr_positional_tracker :: ARVRPositionalTracker , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_controller ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , controller_id) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: arvr_positional_tracker :: ARVRPositionalTracker , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn optional_features (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_optional_features ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn reference_space_type (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_reference_space_type ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn requested_reference_space_types (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_requested_reference_space_types ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn required_features (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_required_features ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn session_mode (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_session_mode ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn visibility_state (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . get_visibility_state ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_session_supported (& self , session_mode : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . is_session_supported ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , session_mode . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_optional_features (& self , optional_features : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . set_optional_features ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , optional_features . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_requested_reference_space_types (& self , requested_reference_space_types : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . set_requested_reference_space_types ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , requested_reference_space_types . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_required_features (& self , required_features : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . set_required_features ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , required_features . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_session_mode (& self , session_mode : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebXRInterfaceMethodTable :: get (get_api ()) . set_session_mode ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , session_mode . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for WebXRInterface { } unsafe impl GodotObject for WebXRInterface { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebXRInterface" } } impl std :: ops :: Deref for WebXRInterface { type Target = crate :: generated :: arvr_interface :: ARVRInterface ; # [inline] fn deref (& self) -> & crate :: generated :: arvr_interface :: ARVRInterface { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebXRInterface { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: arvr_interface :: ARVRInterface { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: arvr_interface :: ARVRInterface > for WebXRInterface { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebXRInterface { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebXRInterface { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebXRInterfaceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_bounds_geometry : * mut sys :: godot_method_bind , pub get_controller : * mut sys :: godot_method_bind , pub get_optional_features : * mut sys :: godot_method_bind , pub get_reference_space_type : * mut sys :: godot_method_bind , pub get_requested_reference_space_types : * mut sys :: godot_method_bind , pub get_required_features : * mut sys :: godot_method_bind , pub get_session_mode : * mut sys :: godot_method_bind , pub get_visibility_state : * mut sys :: godot_method_bind , pub is_session_supported : * mut sys :: godot_method_bind , pub set_optional_features : * mut sys :: godot_method_bind , pub set_requested_reference_space_types : * mut sys :: godot_method_bind , pub set_required_features : * mut sys :: godot_method_bind , pub set_session_mode : * mut sys :: godot_method_bind } impl WebXRInterfaceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebXRInterfaceMethodTable = WebXRInterfaceMethodTable { class_constructor : None , get_bounds_geometry : 0 as * mut sys :: godot_method_bind , get_controller : 0 as * mut sys :: godot_method_bind , get_optional_features : 0 as * mut sys :: godot_method_bind , get_reference_space_type : 0 as * mut sys :: godot_method_bind , get_requested_reference_space_types : 0 as * mut sys :: godot_method_bind , get_required_features : 0 as * mut sys :: godot_method_bind , get_session_mode : 0 as * mut sys :: godot_method_bind , get_visibility_state : 0 as * mut sys :: godot_method_bind , is_session_supported : 0 as * mut sys :: godot_method_bind , set_optional_features : 0 as * mut sys :: godot_method_bind , set_requested_reference_space_types : 0 as * mut sys :: godot_method_bind , set_required_features : 0 as * mut sys :: godot_method_bind , set_session_mode : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebXRInterfaceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebXRInterface\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_bounds_geometry = (gd_api . godot_method_bind_get_method) (class_name , "get_bounds_geometry\0" . as_ptr () as * const c_char) ; table . get_controller = (gd_api . godot_method_bind_get_method) (class_name , "get_controller\0" . as_ptr () as * const c_char) ; table . get_optional_features = (gd_api . godot_method_bind_get_method) (class_name , "get_optional_features\0" . as_ptr () as * const c_char) ; table . get_reference_space_type = (gd_api . godot_method_bind_get_method) (class_name , "get_reference_space_type\0" . as_ptr () as * const c_char) ; table . get_requested_reference_space_types = (gd_api . godot_method_bind_get_method) (class_name , "get_requested_reference_space_types\0" . as_ptr () as * const c_char) ; table . get_required_features = (gd_api . godot_method_bind_get_method) (class_name , "get_required_features\0" . as_ptr () as * const c_char) ; table . get_session_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_session_mode\0" . as_ptr () as * const c_char) ; table . get_visibility_state = (gd_api . godot_method_bind_get_method) (class_name , "get_visibility_state\0" . as_ptr () as * const c_char) ; table . is_session_supported = (gd_api . godot_method_bind_get_method) (class_name , "is_session_supported\0" . as_ptr () as * const c_char) ; table . set_optional_features = (gd_api . godot_method_bind_get_method) (class_name , "set_optional_features\0" . as_ptr () as * const c_char) ; table . set_requested_reference_space_types = (gd_api . godot_method_bind_get_method) (class_name , "set_requested_reference_space_types\0" . as_ptr () as * const c_char) ; table . set_required_features = (gd_api . godot_method_bind_get_method) (class_name , "set_required_features\0" . as_ptr () as * const c_char) ; table . set_session_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_session_mode\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:214:22860
[INFO] [stdout]     |
[INFO] [stdout] 214 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 # [doc = "`core class SoftBody` inherits `MeshInstance` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_softbody.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`SoftBody` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<SoftBody>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nSoftBody inherits methods from:\n - [MeshInstance](struct.MeshInstance.html)\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct SoftBody { this : RawObject < Self > , } impl SoftBody { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = SoftBodyMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds a body to the list of bodies that this body can't collide with."] # [doc = ""] # [inline] pub fn add_collision_exception_with (& self , body : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . add_collision_exception_with ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , body . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn areaAngular_stiffness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_areaAngular_stiffness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an array of nodes that were added as collision exceptions for this body."] # [doc = ""] # [inline] pub fn get_collision_exceptions (& self) -> VariantArray { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_exceptions ; let ret = crate :: icalls :: icallvar_ (method_bind , self . this . sys () . as_ptr ()) ; < VariantArray > :: from_variant (& ret) . expect ("Unexpected variant type") } } # [doc = "The physics layers this SoftBody is in.\nCollidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.\nA contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_layer (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_layer ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an individual bit on the collision mask."] # [doc = ""] # [inline] pub fn get_collision_layer_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_layer_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = "The physics layers this SoftBody scans for collisions. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn collision_mask (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_mask ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns an individual bit on the collision mask."] # [doc = ""] # [inline] pub fn get_collision_mask_bit (& self , bit : i64) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_collision_mask_bit ; let ret = crate :: icalls :: icallptr_bool_i64 (method_bind , self . this . sys () . as_ptr () , bit) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn damping_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_damping_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn drag_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_drag_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn linear_stiffness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_linear_stiffness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "[NodePath] to a [CollisionObject] this SoftBody should avoid clipping."] # [doc = ""] # [inline] pub fn parent_collision_ignore (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_parent_collision_ignore ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn pose_matching_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_pose_matching_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn pressure_coefficient (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_pressure_coefficient ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Increasing this value will improve the resulting simulation, but can affect performance. Use with care."] # [doc = ""] # [inline] pub fn simulation_precision (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_simulation_precision ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The SoftBody's mass."] # [doc = ""] # [inline] pub fn total_mass (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_total_mass ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn volume_stiffness (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . get_volume_stiffness ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the [SoftBody] will respond to [RayCast]s."] # [doc = ""] # [inline] pub fn is_ray_pickable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . is_ray_pickable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Removes a body from the list of bodies that this body can't collide with."] # [doc = ""] # [inline] pub fn remove_collision_exception_with (& self , body : impl AsArg < crate :: generated :: node :: Node >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . remove_collision_exception_with ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , body . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_areaAngular_stiffness (& self , areaAngular_stiffness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_areaAngular_stiffness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , areaAngular_stiffness) ; } } # [doc = "The physics layers this SoftBody is in.\nCollidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.\nA contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_layer (& self , collision_layer : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_layer ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_layer) ; } } # [doc = "Sets individual bits on the layer mask. Use this if you only need to change one layer's value."] # [doc = ""] # [inline] pub fn set_collision_layer_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_layer_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = "The physics layers this SoftBody scans for collisions. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information."] # [doc = ""] # [inline] pub fn set_collision_mask (& self , collision_mask : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_mask ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , collision_mask) ; } } # [doc = "Sets individual bits on the collision mask. Use this if you only need to change one layer's value."] # [doc = ""] # [inline] pub fn set_collision_mask_bit (& self , bit : i64 , value : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_collision_mask_bit ; let ret = crate :: icalls :: icallptr_void_i64_bool (method_bind , self . this . sys () . as_ptr () , bit , value) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_damping_coefficient (& self , damping_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_damping_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , damping_coefficient) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_drag_coefficient (& self , drag_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_drag_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , drag_coefficient) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_linear_stiffness (& self , linear_stiffness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_linear_stiffness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , linear_stiffness) ; } } # [doc = "[NodePath] to a [CollisionObject] this SoftBody should avoid clipping."] # [doc = ""] # [inline] pub fn set_parent_collision_ignore (& self , parent_collision_ignore : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_parent_collision_ignore ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , parent_collision_ignore . into ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_pose_matching_coefficient (& self , pose_matching_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_pose_matching_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , pose_matching_coefficient) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_pressure_coefficient (& self , pressure_coefficient : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_pressure_coefficient ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , pressure_coefficient) ; } } # [doc = "If `true`, the [SoftBody] will respond to [RayCast]s."] # [doc = ""] # [inline] pub fn set_ray_pickable (& self , ray_pickable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_ray_pickable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , ray_pickable) ; } } # [doc = "Increasing this value will improve the resulting simulation, but can affect performance. Use with care."] # [doc = ""] # [inline] pub fn set_simulation_precision (& self , simulation_precision : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_simulation_precision ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , simulation_precision) ; } } # [doc = "The SoftBody's mass."] # [doc = ""] # [inline] pub fn set_total_mass (& self , mass : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_total_mass ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , mass) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_volume_stiffness (& self , volume_stiffness : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = SoftBodyMethodTable :: get (get_api ()) . set_volume_stiffness ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , volume_stiffness) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for SoftBody { } unsafe impl GodotObject for SoftBody { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "SoftBody" } } impl QueueFree for SoftBody { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for SoftBody { type Target = crate :: generated :: mesh_instance :: MeshInstance ; # [inline] fn deref (& self) -> & crate :: generated :: mesh_instance :: MeshInstance { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for SoftBody { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: mesh_instance :: MeshInstance { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: mesh_instance :: MeshInstance > for SoftBody { } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for SoftBody { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for SoftBody { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for SoftBody { } unsafe impl SubClass < crate :: generated :: node :: Node > for SoftBody { } unsafe impl SubClass < crate :: generated :: object :: Object > for SoftBody { } impl Instanciable for SoftBody { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { SoftBody :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct SoftBodyMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_collision_exception_with : * mut sys :: godot_method_bind , pub get_areaAngular_stiffness : * mut sys :: godot_method_bind , pub get_collision_exceptions : * mut sys :: godot_method_bind , pub get_collision_layer : * mut sys :: godot_method_bind , pub get_collision_layer_bit : * mut sys :: godot_method_bind , pub get_collision_mask : * mut sys :: godot_method_bind , pub get_collision_mask_bit : * mut sys :: godot_method_bind , pub get_damping_coefficient : * mut sys :: godot_method_bind , pub get_drag_coefficient : * mut sys :: godot_method_bind , pub get_linear_stiffness : * mut sys :: godot_method_bind , pub get_parent_collision_ignore : * mut sys :: godot_method_bind , pub get_pose_matching_coefficient : * mut sys :: godot_method_bind , pub get_pressure_coefficient : * mut sys :: godot_method_bind , pub get_simulation_precision : * mut sys :: godot_method_bind , pub get_total_mass : * mut sys :: godot_method_bind , pub get_volume_stiffness : * mut sys :: godot_method_bind , pub is_ray_pickable : * mut sys :: godot_method_bind , pub remove_collision_exception_with : * mut sys :: godot_method_bind , pub set_areaAngular_stiffness : * mut sys :: godot_method_bind , pub set_collision_layer : * mut sys :: godot_method_bind , pub set_collision_layer_bit : * mut sys :: godot_method_bind , pub set_collision_mask : * mut sys :: godot_method_bind , pub set_collision_mask_bit : * mut sys :: godot_method_bind , pub set_damping_coefficient : * mut sys :: godot_method_bind , pub set_drag_coefficient : * mut sys :: godot_method_bind , pub set_linear_stiffness : * mut sys :: godot_method_bind , pub set_parent_collision_ignore : * mut sys :: godot_method_bind , pub set_pose_matching_coefficient : * mut sys :: godot_method_bind , pub set_pressure_coefficient : * mut sys :: godot_method_bind , pub set_ray_pickable : * mut sys :: godot_method_bind , pub set_simulation_precision : * mut sys :: godot_method_bind , pub set_total_mass : * mut sys :: godot_method_bind , pub set_volume_stiffness : * mut sys :: godot_method_bind } impl SoftBodyMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : SoftBodyMethodTable = SoftBodyMethodTable { class_constructor : None , add_collision_exception_with : 0 as * mut sys :: godot_method_bind , get_areaAngular_stiffness : 0 as * mut sys :: godot_method_bind , get_collision_exceptions : 0 as * mut sys :: godot_method_bind , get_collision_layer : 0 as * mut sys :: godot_method_bind , get_collision_layer_bit : 0 as * mut sys :: godot_method_bind , get_collision_mask : 0 as * mut sys :: godot_method_bind , get_collision_mask_bit : 0 as * mut sys :: godot_method_bind , get_damping_coefficient : 0 as * mut sys :: godot_method_bind , get_drag_coefficient : 0 as * mut sys :: godot_method_bind , get_linear_stiffness : 0 as * mut sys :: godot_method_bind , get_parent_collision_ignore : 0 as * mut sys :: godot_method_bind , get_pose_matching_coefficient : 0 as * mut sys :: godot_method_bind , get_pressure_coefficient : 0 as * mut sys :: godot_method_bind , get_simulation_precision : 0 as * mut sys :: godot_method_bind , get_total_mass : 0 as * mut sys :: godot_method_bind , get_volume_stiffness : 0 as * mut sys :: godot_method_bind , is_ray_pickable : 0 as * mut sys :: godot_method_bind , remove_collision_exception_with : 0 as * mut sys :: godot_method_bind , set_areaAngular_stiffness : 0 as * mut sys :: godot_method_bind , set_collision_layer : 0 as * mut sys :: godot_method_bind , set_collision_layer_bit : 0 as * mut sys :: godot_method_bind , set_collision_mask : 0 as * mut sys :: godot_method_bind , set_collision_mask_bit : 0 as * mut sys :: godot_method_bind , set_damping_coefficient : 0 as * mut sys :: godot_method_bind , set_drag_coefficient : 0 as * mut sys :: godot_method_bind , set_linear_stiffness : 0 as * mut sys :: godot_method_bind , set_parent_collision_ignore : 0 as * mut sys :: godot_method_bind , set_pose_matching_coefficient : 0 as * mut sys :: godot_method_bind , set_pressure_coefficient : 0 as * mut sys :: godot_method_bind , set_ray_pickable : 0 as * mut sys :: godot_method_bind , set_simulation_precision : 0 as * mut sys :: godot_method_bind , set_total_mass : 0 as * mut sys :: godot_method_bind , set_volume_stiffness : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { SoftBodyMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "SoftBody\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_collision_exception_with = (gd_api . godot_method_bind_get_method) (class_name , "add_collision_exception_with\0" . as_ptr () as * const c_char) ; table . get_areaAngular_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "get_areaAngular_stiffness\0" . as_ptr () as * const c_char) ; table . get_collision_exceptions = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_exceptions\0" . as_ptr () as * const c_char) ; table . get_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer\0" . as_ptr () as * const c_char) ; table . get_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . get_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask\0" . as_ptr () as * const c_char) ; table . get_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "get_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . get_damping_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_damping_coefficient\0" . as_ptr () as * const c_char) ; table . get_drag_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_drag_coefficient\0" . as_ptr () as * const c_char) ; table . get_linear_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "get_linear_stiffness\0" . as_ptr () as * const c_char) ; table . get_parent_collision_ignore = (gd_api . godot_method_bind_get_method) (class_name , "get_parent_collision_ignore\0" . as_ptr () as * const c_char) ; table . get_pose_matching_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_pose_matching_coefficient\0" . as_ptr () as * const c_char) ; table . get_pressure_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "get_pressure_coefficient\0" . as_ptr () as * const c_char) ; table . get_simulation_precision = (gd_api . godot_method_bind_get_method) (class_name , "get_simulation_precision\0" . as_ptr () as * const c_char) ; table . get_total_mass = (gd_api . godot_method_bind_get_method) (class_name , "get_total_mass\0" . as_ptr () as * const c_char) ; table . get_volume_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "get_volume_stiffness\0" . as_ptr () as * const c_char) ; table . is_ray_pickable = (gd_api . godot_method_bind_get_method) (class_name , "is_ray_pickable\0" . as_ptr () as * const c_char) ; table . remove_collision_exception_with = (gd_api . godot_method_bind_get_method) (class_name , "remove_collision_exception_with\0" . as_ptr () as * const c_char) ; table . set_areaAngular_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "set_areaAngular_stiffness\0" . as_ptr () as * const c_char) ; table . set_collision_layer = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer\0" . as_ptr () as * const c_char) ; table . set_collision_layer_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_layer_bit\0" . as_ptr () as * const c_char) ; table . set_collision_mask = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask\0" . as_ptr () as * const c_char) ; table . set_collision_mask_bit = (gd_api . godot_method_bind_get_method) (class_name , "set_collision_mask_bit\0" . as_ptr () as * const c_char) ; table . set_damping_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_damping_coefficient\0" . as_ptr () as * const c_char) ; table . set_drag_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_drag_coefficient\0" . as_ptr () as * const c_char) ; table . set_linear_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "set_linear_stiffness\0" . as_ptr () as * const c_char) ; table . set_parent_collision_ignore = (gd_api . godot_method_bind_get_method) (class_name , "set_parent_collision_ignore\0" . as_ptr () as * const c_char) ; table . set_pose_matching_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_pose_matching_coefficient\0" . as_ptr () as * const c_char) ; table . set_pressure_coefficient = (gd_api . godot_method_bind_get_method) (class_name , "set_pressure_coefficient\0" . as_ptr () as * const c_char) ; table . set_ray_pickable = (gd_api . godot_method_bind_get_method) (class_name , "set_ray_pickable\0" . as_ptr () as * const c_char) ; table . set_simulation_precision = (gd_api . godot_method_bind_get_method) (class_name , "set_simulation_precision\0" . as_ptr () as * const c_char) ; table . set_total_mass = (gd_api . godot_method_bind_get_method) (class_name , "set_total_mass\0" . as_ptr () as * const c_char) ; table . set_volume_stiffness = (gd_api . godot_method_bind_get_method) (class_name , "set_volume_stiffness\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:220:4421
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 # [doc = "`core class VideoStreamGDNative` inherits `VideoStream` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_videostreamgdnative.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nVideoStreamGDNative inherits methods from:\n - [VideoStream](struct.VideoStream.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct VideoStreamGDNative { this : RawObject < Self > , } impl VideoStreamGDNative { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = VideoStreamGDNativeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = ""] # [doc = ""] # [inline] pub fn file (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = VideoStreamGDNativeMethodTable :: get (get_api ()) . get_file ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_file (& self , file : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = VideoStreamGDNativeMethodTable :: get (get_api ()) . set_file ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , file . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for VideoStreamGDNative { } unsafe impl GodotObject for VideoStreamGDNative { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "VideoStreamGDNative" } } impl std :: ops :: Deref for VideoStreamGDNative { type Target = crate :: generated :: video_stream :: VideoStream ; # [inline] fn deref (& self) -> & crate :: generated :: video_stream :: VideoStream { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for VideoStreamGDNative { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: video_stream :: VideoStream { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: video_stream :: VideoStream > for VideoStreamGDNative { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for VideoStreamGDNative { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for VideoStreamGDNative { } unsafe impl SubClass < crate :: generated :: object :: Object > for VideoStreamGDNative { } impl Instanciable for VideoStreamGDNative { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { VideoStreamGDNative :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct VideoStreamGDNativeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_file : * mut sys :: godot_method_bind , pub set_file : * mut sys :: godot_method_bind } impl VideoStreamGDNativeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : VideoStreamGDNativeMethodTable = VideoStreamGDNativeMethodTable { class_constructor : None , get_file : 0 as * mut sys :: godot_method_bind , set_file : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { VideoStreamGDNativeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "VideoStreamGDNative\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_file = (gd_api . godot_method_bind_get_method) (class_name , "get_file\0" . as_ptr () as * const c_char) ; table . set_file = (gd_api . godot_method_bind_get_method) (class_name , "set_file\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:964:12810
[INFO] [stdout]     |
[INFO] [stdout] 964 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 964 |                 # [doc = "`core class CanvasItemMaterial` inherits `Material` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_canvasitemmaterial.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nCanvasItemMaterial inherits methods from:\n - [Material](struct.Material.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct CanvasItemMaterial { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct BlendMode (pub i64) ; impl BlendMode { pub const MIX : BlendMode = BlendMode (0i64) ; pub const ADD : BlendMode = BlendMode (1i64) ; pub const SUB : BlendMode = BlendMode (2i64) ; pub const MUL : BlendMode = BlendMode (3i64) ; pub const PREMULT_ALPHA : BlendMode = BlendMode (4i64) ; } impl From < i64 > for BlendMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < BlendMode > for i64 { # [inline] fn from (v : BlendMode) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct LightMode (pub i64) ; impl LightMode { pub const NORMAL : LightMode = LightMode (0i64) ; pub const UNSHADED : LightMode = LightMode (1i64) ; pub const LIGHT_ONLY : LightMode = LightMode (2i64) ; } impl From < i64 > for LightMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < LightMode > for i64 { # [inline] fn from (v : LightMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl CanvasItemMaterial { pub const BLEND_MODE_ADD : i64 = 1i64 ; pub const BLEND_MODE_MIX : i64 = 0i64 ; pub const BLEND_MODE_MUL : i64 = 3i64 ; pub const BLEND_MODE_PREMULT_ALPHA : i64 = 4i64 ; pub const BLEND_MODE_SUB : i64 = 2i64 ; pub const LIGHT_MODE_LIGHT_ONLY : i64 = 2i64 ; pub const LIGHT_MODE_NORMAL : i64 = 0i64 ; pub const LIGHT_MODE_UNSHADED : i64 = 1i64 ; } impl CanvasItemMaterial { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = CanvasItemMaterialMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The manner in which a material's rendering is applied to underlying textures."] # [doc = ""] # [inline] pub fn blend_mode (& self) -> crate :: generated :: canvas_item_material :: BlendMode { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . get_blend_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: canvas_item_material :: BlendMode (ret) } } # [doc = "The manner in which material reacts to lighting."] # [doc = ""] # [inline] pub fn light_mode (& self) -> crate :: generated :: canvas_item_material :: LightMode { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . get_light_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: canvas_item_material :: LightMode (ret) } } # [doc = "The number of columns in the spritesheet assigned as [Texture] for a [Particles2D] or [CPUParticles2D].\n**Note:** This property is only used and visible in the editor if [member particles_animation] is `true`."] # [doc = ""] # [inline] pub fn particles_anim_h_frames (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . get_particles_anim_h_frames ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, the particles animation will loop.\n**Note:** This property is only used and visible in the editor if [member particles_animation] is `true`."] # [doc = ""] # [inline] pub fn particles_anim_loop (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . get_particles_anim_loop ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The number of rows in the spritesheet assigned as [Texture] for a [Particles2D] or [CPUParticles2D].\n**Note:** This property is only used and visible in the editor if [member particles_animation] is `true`."] # [doc = ""] # [inline] pub fn particles_anim_v_frames (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . get_particles_anim_v_frames ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "If `true`, enable spritesheet-based animation features when assigned to [Particles2D] and [CPUParticles2D] nodes. The [member ParticlesMaterial.anim_speed] or [member CPUParticles2D.anim_speed] should also be set to a positive value for the animation to play.\nThis property (and other `particles_anim_*` properties that depend on it) has no effect on other types of nodes."] # [doc = ""] # [inline] pub fn particles_animation (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . get_particles_animation ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The manner in which a material's rendering is applied to underlying textures."] # [doc = ""] # [inline] pub fn set_blend_mode (& self , blend_mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . set_blend_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , blend_mode) ; } } # [doc = "The manner in which material reacts to lighting."] # [doc = ""] # [inline] pub fn set_light_mode (& self , light_mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . set_light_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , light_mode) ; } } # [doc = "The number of columns in the spritesheet assigned as [Texture] for a [Particles2D] or [CPUParticles2D].\n**Note:** This property is only used and visible in the editor if [member particles_animation] is `true`."] # [doc = ""] # [inline] pub fn set_particles_anim_h_frames (& self , frames : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . set_particles_anim_h_frames ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , frames) ; } } # [doc = "If `true`, the particles animation will loop.\n**Note:** This property is only used and visible in the editor if [member particles_animation] is `true`."] # [doc = ""] # [inline] pub fn set_particles_anim_loop (& self , _loop : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . set_particles_anim_loop ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , _loop) ; } } # [doc = "The number of rows in the spritesheet assigned as [Texture] for a [Particles2D] or [CPUParticles2D].\n**Note:** This property is only used and visible in the editor if [member particles_animation] is `true`."] # [doc = ""] # [inline] pub fn set_particles_anim_v_frames (& self , frames : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . set_particles_anim_v_frames ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , frames) ; } } # [doc = "If `true`, enable spritesheet-based animation features when assigned to [Particles2D] and [CPUParticles2D] nodes. The [member ParticlesMaterial.anim_speed] or [member CPUParticles2D.anim_speed] should also be set to a positive value for the animation to play.\nThis property (and other `particles_anim_*` properties that depend on it) has no effect on other types of nodes."] # [doc = ""] # [inline] pub fn set_particles_animation (& self , particles_anim : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = CanvasItemMaterialMethodTable :: get (get_api ()) . set_particles_animation ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , particles_anim) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for CanvasItemMaterial { } unsafe impl GodotObject for CanvasItemMaterial { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "CanvasItemMaterial" } } impl std :: ops :: Deref for CanvasItemMaterial { type Target = crate :: generated :: material :: Material ; # [inline] fn deref (& self) -> & crate :: generated :: material :: Material { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for CanvasItemMaterial { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: material :: Material { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: material :: Material > for CanvasItemMaterial { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for CanvasItemMaterial { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for CanvasItemMaterial { } unsafe impl SubClass < crate :: generated :: object :: Object > for CanvasItemMaterial { } impl Instanciable for CanvasItemMaterial { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { CanvasItemMaterial :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct CanvasItemMaterialMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_blend_mode : * mut sys :: godot_method_bind , pub get_light_mode : * mut sys :: godot_method_bind , pub get_particles_anim_h_frames : * mut sys :: godot_method_bind , pub get_particles_anim_loop : * mut sys :: godot_method_bind , pub get_particles_anim_v_frames : * mut sys :: godot_method_bind , pub get_particles_animation : * mut sys :: godot_method_bind , pub set_blend_mode : * mut sys :: godot_method_bind , pub set_light_mode : * mut sys :: godot_method_bind , pub set_particles_anim_h_frames : * mut sys :: godot_method_bind , pub set_particles_anim_loop : * mut sys :: godot_method_bind , pub set_particles_anim_v_frames : * mut sys :: godot_method_bind , pub set_particles_animation : * mut sys :: godot_method_bind } impl CanvasItemMaterialMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : CanvasItemMaterialMethodTable = CanvasItemMaterialMethodTable { class_constructor : None , get_blend_mode : 0 as * mut sys :: godot_method_bind , get_light_mode : 0 as * mut sys :: godot_method_bind , get_particles_anim_h_frames : 0 as * mut sys :: godot_method_bind , get_particles_anim_loop : 0 as * mut sys :: godot_method_bind , get_particles_anim_v_frames : 0 as * mut sys :: godot_method_bind , get_particles_animation : 0 as * mut sys :: godot_method_bind , set_blend_mode : 0 as * mut sys :: godot_method_bind , set_light_mode : 0 as * mut sys :: godot_method_bind , set_particles_anim_h_frames : 0 as * mut sys :: godot_method_bind , set_particles_anim_loop : 0 as * mut sys :: godot_method_bind , set_particles_anim_v_frames : 0 as * mut sys :: godot_method_bind , set_particles_animation : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { CanvasItemMaterialMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "CanvasItemMaterial\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_blend_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_blend_mode\0" . as_ptr () as * const c_char) ; table . get_light_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_light_mode\0" . as_ptr () as * const c_char) ; table . get_particles_anim_h_frames = (gd_api . godot_method_bind_get_method) (class_name , "get_particles_anim_h_frames\0" . as_ptr () as * const c_char) ; table . get_particles_anim_loop = (gd_api . godot_method_bind_get_method) (class_name , "get_particles_anim_loop\0" . as_ptr () as * const c_char) ; table . get_particles_anim_v_frames = (gd_api . godot_method_bind_get_method) (class_name , "get_particles_anim_v_frames\0" . as_ptr () as * const c_char) ; table . get_particles_animation = (gd_api . godot_method_bind_get_method) (class_name , "get_particles_animation\0" . as_ptr () as * const c_char) ; table . set_blend_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_blend_mode\0" . as_ptr () as * const c_char) ; table . set_light_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_light_mode\0" . as_ptr () as * const c_char) ; table . set_particles_anim_h_frames = (gd_api . godot_method_bind_get_method) (class_name , "set_particles_anim_h_frames\0" . as_ptr () as * const c_char) ; table . set_particles_anim_loop = (gd_api . godot_method_bind_get_method) (class_name , "set_particles_anim_loop\0" . as_ptr () as * const c_char) ; table . set_particles_anim_v_frames = (gd_api . godot_method_bind_get_method) (class_name , "set_particles_anim_v_frames\0" . as_ptr () as * const c_char) ; table . set_particles_animation = (gd_api . godot_method_bind_get_method) (class_name , "set_particles_animation\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:226:9007
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 # [doc = "`core class MultiMeshInstance2D` inherits `Node2D` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_multimeshinstance2d.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`MultiMeshInstance2D` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<MultiMeshInstance2D>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nMultiMeshInstance2D inherits methods from:\n - [Node2D](struct.Node2D.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MultiMeshInstance2D { this : RawObject < Self > , } impl MultiMeshInstance2D { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MultiMeshInstance2DMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The [MultiMesh] that will be drawn by the [MultiMeshInstance2D]."] # [doc = ""] # [inline] pub fn multimesh (& self) -> Option < Ref < crate :: generated :: multi_mesh :: MultiMesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . get_multimesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: multi_mesh :: MultiMesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The normal map that will be used if using the default [CanvasItemMaterial].\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn normal_map (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . get_normal_map ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as `TEXTURE` in CanvasItem shader."] # [doc = ""] # [inline] pub fn texture (& self) -> Option < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . get_texture ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture :: Texture , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [MultiMesh] that will be drawn by the [MultiMeshInstance2D]."] # [doc = ""] # [inline] pub fn set_multimesh (& self , multimesh : impl AsArg < crate :: generated :: multi_mesh :: MultiMesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . set_multimesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , multimesh . as_arg_ptr ()) ; } } # [doc = "The normal map that will be used if using the default [CanvasItemMaterial].\n**Note:** Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines."] # [doc = ""] # [inline] pub fn set_normal_map (& self , normal_map : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . set_normal_map ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , normal_map . as_arg_ptr ()) ; } } # [doc = "The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as `TEXTURE` in CanvasItem shader."] # [doc = ""] # [inline] pub fn set_texture (& self , texture : impl AsArg < crate :: generated :: texture :: Texture >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MultiMeshInstance2DMethodTable :: get (get_api ()) . set_texture ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , texture . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MultiMeshInstance2D { } unsafe impl GodotObject for MultiMeshInstance2D { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "MultiMeshInstance2D" } } impl QueueFree for MultiMeshInstance2D { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for MultiMeshInstance2D { type Target = crate :: generated :: node_2d :: Node2D ; # [inline] fn deref (& self) -> & crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MultiMeshInstance2D { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: node_2d :: Node2D { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: node_2d :: Node2D > for MultiMeshInstance2D { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for MultiMeshInstance2D { } unsafe impl SubClass < crate :: generated :: node :: Node > for MultiMeshInstance2D { } unsafe impl SubClass < crate :: generated :: object :: Object > for MultiMeshInstance2D { } impl Instanciable for MultiMeshInstance2D { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MultiMeshInstance2D :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MultiMeshInstance2DMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_multimesh : * mut sys :: godot_method_bind , pub get_normal_map : * mut sys :: godot_method_bind , pub get_texture : * mut sys :: godot_method_bind , pub set_multimesh : * mut sys :: godot_method_bind , pub set_normal_map : * mut sys :: godot_method_bind , pub set_texture : * mut sys :: godot_method_bind } impl MultiMeshInstance2DMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MultiMeshInstance2DMethodTable = MultiMeshInstance2DMethodTable { class_constructor : None , get_multimesh : 0 as * mut sys :: godot_method_bind , get_normal_map : 0 as * mut sys :: godot_method_bind , get_texture : 0 as * mut sys :: godot_method_bind , set_multimesh : 0 as * mut sys :: godot_method_bind , set_normal_map : 0 as * mut sys :: godot_method_bind , set_texture : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MultiMeshInstance2DMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MultiMeshInstance2D\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_multimesh = (gd_api . godot_method_bind_get_method) (class_name , "get_multimesh\0" . as_ptr () as * const c_char) ; table . get_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "get_normal_map\0" . as_ptr () as * const c_char) ; table . get_texture = (gd_api . godot_method_bind_get_method) (class_name , "get_texture\0" . as_ptr () as * const c_char) ; table . set_multimesh = (gd_api . godot_method_bind_get_method) (class_name , "set_multimesh\0" . as_ptr () as * const c_char) ; table . set_normal_map = (gd_api . godot_method_bind_get_method) (class_name , "set_normal_map\0" . as_ptr () as * const c_char) ; table . set_texture = (gd_api . godot_method_bind_get_method) (class_name , "set_texture\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:970:7052
[INFO] [stdout]     |
[INFO] [stdout] 970 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 970 |                 # [doc = "`core class WindowDialog` inherits `Popup` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_windowdialog.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`WindowDialog` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<WindowDialog>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nWindowDialog inherits methods from:\n - [Popup](struct.Popup.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WindowDialog { this : RawObject < Self > , } impl WindowDialog { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WindowDialogMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Returns the close [TextureButton]."] # [doc = ""] # [inline] pub fn get_close_button (& self) -> Option < Ref < crate :: generated :: texture_button :: TextureButton , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = WindowDialogMethodTable :: get (get_api ()) . get_close_button ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: texture_button :: TextureButton , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "If `true`, the user can resize the window."] # [doc = ""] # [inline] pub fn resizable (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WindowDialogMethodTable :: get (get_api ()) . get_resizable ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The text displayed in the window's title bar."] # [doc = ""] # [inline] pub fn title (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WindowDialogMethodTable :: get (get_api ()) . get_title ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "If `true`, the user can resize the window."] # [doc = ""] # [inline] pub fn set_resizable (& self , resizable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WindowDialogMethodTable :: get (get_api ()) . set_resizable ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , resizable) ; } } # [doc = "The text displayed in the window's title bar."] # [doc = ""] # [inline] pub fn set_title (& self , title : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WindowDialogMethodTable :: get (get_api ()) . set_title ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , title . into ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for WindowDialog { } unsafe impl GodotObject for WindowDialog { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "WindowDialog" } } impl QueueFree for WindowDialog { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for WindowDialog { type Target = crate :: generated :: popup :: Popup ; # [inline] fn deref (& self) -> & crate :: generated :: popup :: Popup { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WindowDialog { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: popup :: Popup { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: popup :: Popup > for WindowDialog { } unsafe impl SubClass < crate :: generated :: control :: Control > for WindowDialog { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for WindowDialog { } unsafe impl SubClass < crate :: generated :: node :: Node > for WindowDialog { } unsafe impl SubClass < crate :: generated :: object :: Object > for WindowDialog { } impl Instanciable for WindowDialog { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WindowDialog :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WindowDialogMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_close_button : * mut sys :: godot_method_bind , pub get_resizable : * mut sys :: godot_method_bind , pub get_title : * mut sys :: godot_method_bind , pub set_resizable : * mut sys :: godot_method_bind , pub set_title : * mut sys :: godot_method_bind } impl WindowDialogMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WindowDialogMethodTable = WindowDialogMethodTable { class_constructor : None , get_close_button : 0 as * mut sys :: godot_method_bind , get_resizable : 0 as * mut sys :: godot_method_bind , get_title : 0 as * mut sys :: godot_method_bind , set_resizable : 0 as * mut sys :: godot_method_bind , set_title : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WindowDialogMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WindowDialog\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_close_button = (gd_api . godot_method_bind_get_method) (class_name , "get_close_button\0" . as_ptr () as * const c_char) ; table . get_resizable = (gd_api . godot_method_bind_get_method) (class_name , "get_resizable\0" . as_ptr () as * const c_char) ; table . get_title = (gd_api . godot_method_bind_get_method) (class_name , "get_title\0" . as_ptr () as * const c_char) ; table . set_resizable = (gd_api . godot_method_bind_get_method) (class_name , "set_resizable\0" . as_ptr () as * const c_char) ; table . set_title = (gd_api . godot_method_bind_get_method) (class_name , "set_title\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:232:7048
[INFO] [stdout]     |
[INFO] [stdout] 232 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 # [doc = "`core class PacketPeerDTLS` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_packetpeerdtls.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nPacketPeerDTLS inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct PacketPeerDTLS { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct Status (pub i64) ; impl Status { pub const DISCONNECTED : Status = Status (0i64) ; pub const HANDSHAKING : Status = Status (1i64) ; pub const CONNECTED : Status = Status (2i64) ; pub const ERROR : Status = Status (3i64) ; pub const ERROR_HOSTNAME_MISMATCH : Status = Status (4i64) ; } impl From < i64 > for Status { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < Status > for i64 { # [inline] fn from (v : Status) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl PacketPeerDTLS { pub const STATUS_CONNECTED : i64 = 2i64 ; pub const STATUS_DISCONNECTED : i64 = 0i64 ; pub const STATUS_ERROR : i64 = 3i64 ; pub const STATUS_ERROR_HOSTNAME_MISMATCH : i64 = 4i64 ; pub const STATUS_HANDSHAKING : i64 = 1i64 ; } impl PacketPeerDTLS { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = PacketPeerDTLSMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Connects a `peer` beginning the DTLS handshake using the underlying [PacketPeerUDP] which must be connected (see [method PacketPeerUDP.connect_to_host]). If `validate_certs` is `true`, [PacketPeerDTLS] will validate that the certificate presented by the remote peer and match it with the `for_hostname` argument. You can specify a custom [X509Certificate] to use for validation via the `valid_certificate` argument.\n# Default Arguments\n* `validate_certs` - `true`\n* `for_hostname` - `\"\"`\n* `valid_certificate` - `null`"] # [doc = ""] # [inline] pub fn connect_to_peer (& self , packet_peer : impl AsArg < crate :: generated :: packet_peer_udp :: PacketPeerUDP > , validate_certs : bool , for_hostname : impl Into < GodotString > , valid_certificate : impl AsArg < crate :: generated :: x509_certificate :: X509Certificate >) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . connect_to_peer ; let ret = crate :: icalls :: icallptr_i64_obj_bool_str_obj (method_bind , self . this . sys () . as_ptr () , packet_peer . as_arg_ptr () , validate_certs , for_hostname . into () , valid_certificate . as_arg_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = "Disconnects this peer, terminating the DTLS session."] # [doc = ""] # [inline] pub fn disconnect_from_peer (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . disconnect_from_peer ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "Returns the status of the connection. See [enum Status] for values."] # [doc = ""] # [inline] pub fn get_status (& self) -> crate :: generated :: packet_peer_dtls :: Status { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . get_status ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: packet_peer_dtls :: Status (ret) } } # [doc = "Poll the connection to check for incoming packets. Call this frequently to update the status and keep the connection working."] # [doc = ""] # [inline] pub fn poll (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = PacketPeerDTLSMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for PacketPeerDTLS { } unsafe impl GodotObject for PacketPeerDTLS { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "PacketPeerDTLS" } } impl std :: ops :: Deref for PacketPeerDTLS { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for PacketPeerDTLS { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for PacketPeerDTLS { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for PacketPeerDTLS { } unsafe impl SubClass < crate :: generated :: object :: Object > for PacketPeerDTLS { } impl Instanciable for PacketPeerDTLS { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { PacketPeerDTLS :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct PacketPeerDTLSMethodTable { pub class_constructor : sys :: godot_class_constructor , pub connect_to_peer : * mut sys :: godot_method_bind , pub disconnect_from_peer : * mut sys :: godot_method_bind , pub get_status : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind } impl PacketPeerDTLSMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : PacketPeerDTLSMethodTable = PacketPeerDTLSMethodTable { class_constructor : None , connect_to_peer : 0 as * mut sys :: godot_method_bind , disconnect_from_peer : 0 as * mut sys :: godot_method_bind , get_status : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { PacketPeerDTLSMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "PacketPeerDTLS\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . connect_to_peer = (gd_api . godot_method_bind_get_method) (class_name , "connect_to_peer\0" . as_ptr () as * const c_char) ; table . disconnect_from_peer = (gd_api . godot_method_bind_get_method) (class_name , "disconnect_from_peer\0" . as_ptr () as * const c_char) ; table . get_status = (gd_api . godot_method_bind_get_method) (class_name , "get_status\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:976:3711
[INFO] [stdout]     |
[INFO] [stdout] 976 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 976 |                 # [doc = "`core class WebRTCPeerConnectionGDNative` inherits `WebRTCPeerConnection` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_webrtcpeerconnectiongdnative.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebRTCPeerConnectionGDNative inherits methods from:\n - [WebRTCPeerConnection](struct.WebRTCPeerConnection.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebRTCPeerConnectionGDNative { this : RawObject < Self > , } impl WebRTCPeerConnectionGDNative { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = WebRTCPeerConnectionGDNativeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for WebRTCPeerConnectionGDNative { } unsafe impl GodotObject for WebRTCPeerConnectionGDNative { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebRTCPeerConnectionGDNative" } } impl std :: ops :: Deref for WebRTCPeerConnectionGDNative { type Target = crate :: generated :: web_rtc_peer_connection :: WebRTCPeerConnection ; # [inline] fn deref (& self) -> & crate :: generated :: web_rtc_peer_connection :: WebRTCPeerConnection { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebRTCPeerConnectionGDNative { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: web_rtc_peer_connection :: WebRTCPeerConnection { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: web_rtc_peer_connection :: WebRTCPeerConnection > for WebRTCPeerConnectionGDNative { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebRTCPeerConnectionGDNative { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebRTCPeerConnectionGDNative { } impl Instanciable for WebRTCPeerConnectionGDNative { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { WebRTCPeerConnectionGDNative :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebRTCPeerConnectionGDNativeMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl WebRTCPeerConnectionGDNativeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebRTCPeerConnectionGDNativeMethodTable = WebRTCPeerConnectionGDNativeMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebRTCPeerConnectionGDNativeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebRTCPeerConnectionGDNative\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:982:4707
[INFO] [stdout]     |
[INFO] [stdout] 982 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 982 |                 # [doc = "`core class HBoxContainer` inherits `BoxContainer` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_hboxcontainer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`HBoxContainer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<HBoxContainer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nHBoxContainer inherits methods from:\n - [BoxContainer](struct.BoxContainer.html)\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct HBoxContainer { this : RawObject < Self > , } impl HBoxContainer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = HBoxContainerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for HBoxContainer { } unsafe impl GodotObject for HBoxContainer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "HBoxContainer" } } impl QueueFree for HBoxContainer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for HBoxContainer { type Target = crate :: generated :: box_container :: BoxContainer ; # [inline] fn deref (& self) -> & crate :: generated :: box_container :: BoxContainer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for HBoxContainer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: box_container :: BoxContainer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: box_container :: BoxContainer > for HBoxContainer { } unsafe impl SubClass < crate :: generated :: container :: Container > for HBoxContainer { } unsafe impl SubClass < crate :: generated :: control :: Control > for HBoxContainer { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for HBoxContainer { } unsafe impl SubClass < crate :: generated :: node :: Node > for HBoxContainer { } unsafe impl SubClass < crate :: generated :: object :: Object > for HBoxContainer { } impl Instanciable for HBoxContainer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { HBoxContainer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct HBoxContainerMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl HBoxContainerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : HBoxContainerMethodTable = HBoxContainerMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { HBoxContainerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "HBoxContainer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:238:9148
[INFO] [stdout]     |
[INFO] [stdout] 238 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 # [doc = "`core class KinematicCollision` inherits `Reference` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_kinematiccollision.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nKinematicCollision inherits methods from:\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct KinematicCollision { this : RawObject < Self > , } impl KinematicCollision { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = KinematicCollisionMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The colliding body."] # [doc = ""] # [inline] pub fn collider (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's unique instance ID. See [method Object.get_instance_id]."] # [doc = ""] # [inline] pub fn collider_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding body's metadata. See [Object]."] # [doc = ""] # [inline] pub fn collider_metadata (& self) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_metadata ; let ret = crate :: icalls :: icallptr_var (method_bind , self . this . sys () . as_ptr ()) ; Variant :: from_sys (ret) } } # [doc = "The colliding body's shape."] # [doc = ""] # [inline] pub fn collider_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding shape's index. See [CollisionObject]."] # [doc = ""] # [inline] pub fn collider_shape_index (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_shape_index ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The colliding object's velocity."] # [doc = ""] # [inline] pub fn collider_velocity (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_collider_velocity ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's colliding shape."] # [doc = ""] # [inline] pub fn local_shape (& self) -> Option < Ref < crate :: generated :: object :: Object , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_local_shape ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: object :: Object , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The colliding body's shape's normal at the point of collision."] # [doc = ""] # [inline] pub fn normal (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_normal ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The point of collision, in global coordinates."] # [doc = ""] # [inline] pub fn position (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_position ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The moving object's remaining movement vector."] # [doc = ""] # [inline] pub fn remainder (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_remainder ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The distance the moving object traveled before collision."] # [doc = ""] # [inline] pub fn travel (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = KinematicCollisionMethodTable :: get (get_api ()) . get_travel ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } } impl gdnative_core :: private :: godot_object :: Sealed for KinematicCollision { } unsafe impl GodotObject for KinematicCollision { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "KinematicCollision" } } impl std :: ops :: Deref for KinematicCollision { type Target = crate :: generated :: reference :: Reference ; # [inline] fn deref (& self) -> & crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for KinematicCollision { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: reference :: Reference { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: reference :: Reference > for KinematicCollision { } unsafe impl SubClass < crate :: generated :: object :: Object > for KinematicCollision { } impl Instanciable for KinematicCollision { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { KinematicCollision :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct KinematicCollisionMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_collider : * mut sys :: godot_method_bind , pub get_collider_id : * mut sys :: godot_method_bind , pub get_collider_metadata : * mut sys :: godot_method_bind , pub get_collider_shape : * mut sys :: godot_method_bind , pub get_collider_shape_index : * mut sys :: godot_method_bind , pub get_collider_velocity : * mut sys :: godot_method_bind , pub get_local_shape : * mut sys :: godot_method_bind , pub get_normal : * mut sys :: godot_method_bind , pub get_position : * mut sys :: godot_method_bind , pub get_remainder : * mut sys :: godot_method_bind , pub get_travel : * mut sys :: godot_method_bind } impl KinematicCollisionMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : KinematicCollisionMethodTable = KinematicCollisionMethodTable { class_constructor : None , get_collider : 0 as * mut sys :: godot_method_bind , get_collider_id : 0 as * mut sys :: godot_method_bind , get_collider_metadata : 0 as * mut sys :: godot_method_bind , get_collider_shape : 0 as * mut sys :: godot_method_bind , get_collider_shape_index : 0 as * mut sys :: godot_method_bind , get_collider_velocity : 0 as * mut sys :: godot_method_bind , get_local_shape : 0 as * mut sys :: godot_method_bind , get_normal : 0 as * mut sys :: godot_method_bind , get_position : 0 as * mut sys :: godot_method_bind , get_remainder : 0 as * mut sys :: godot_method_bind , get_travel : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { KinematicCollisionMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "KinematicCollision\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_collider = (gd_api . godot_method_bind_get_method) (class_name , "get_collider\0" . as_ptr () as * const c_char) ; table . get_collider_id = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_id\0" . as_ptr () as * const c_char) ; table . get_collider_metadata = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_metadata\0" . as_ptr () as * const c_char) ; table . get_collider_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape\0" . as_ptr () as * const c_char) ; table . get_collider_shape_index = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_shape_index\0" . as_ptr () as * const c_char) ; table . get_collider_velocity = (gd_api . godot_method_bind_get_method) (class_name , "get_collider_velocity\0" . as_ptr () as * const c_char) ; table . get_local_shape = (gd_api . godot_method_bind_get_method) (class_name , "get_local_shape\0" . as_ptr () as * const c_char) ; table . get_normal = (gd_api . godot_method_bind_get_method) (class_name , "get_normal\0" . as_ptr () as * const c_char) ; table . get_position = (gd_api . godot_method_bind_get_method) (class_name , "get_position\0" . as_ptr () as * const c_char) ; table . get_remainder = (gd_api . godot_method_bind_get_method) (class_name , "get_remainder\0" . as_ptr () as * const c_char) ; table . get_travel = (gd_api . godot_method_bind_get_method) (class_name , "get_travel\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:244:11972
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 # [doc = "`core class AnimationNode` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_animationnode.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAnimationNode inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AnimationNode { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct FilterAction (pub i64) ; impl FilterAction { pub const IGNORE : FilterAction = FilterAction (0i64) ; pub const PASS : FilterAction = FilterAction (1i64) ; pub const STOP : FilterAction = FilterAction (2i64) ; pub const BLEND : FilterAction = FilterAction (3i64) ; } impl From < i64 > for FilterAction { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < FilterAction > for i64 { # [inline] fn from (v : FilterAction) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AnimationNode { pub const FILTER_BLEND : i64 = 3i64 ; pub const FILTER_IGNORE : i64 = 0i64 ; pub const FILTER_PASS : i64 = 1i64 ; pub const FILTER_STOP : i64 = 2i64 ; } impl AnimationNode { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AnimationNodeMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Adds an input to the node. This is only useful for nodes created for use in an [AnimationNodeBlendTree]."] # [doc = ""] # [inline] pub fn add_input (& self , name : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . add_input ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; } } # [doc = "Blend an animation by `blend` amount (name must be valid in the linked [AnimationPlayer]). A `time` and `delta` may be passed, as well as whether `seek` happened."] # [doc = ""] # [inline] pub fn blend_animation (& self , animation : impl Into < GodotString > , time : f64 , delta : f64 , seeked : bool , blend : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . blend_animation ; let ret = crate :: icalls :: icallptr_void_str_f64_f64_bool_f64 (method_bind , self . this . sys () . as_ptr () , animation . into () , time , delta , seeked , blend) ; } } # [doc = "Blend an input. This is only useful for nodes created for an [AnimationNodeBlendTree]. The `time` parameter is a relative delta, unless `seek` is `true`, in which case it is absolute. A filter mode may be optionally passed (see [enum FilterAction] for options).\n# Default Arguments\n* `filter` - `0`\n* `optimize` - `true`"] # [doc = ""] # [inline] pub fn blend_input (& self , input_index : i64 , time : f64 , seek : bool , blend : f64 , filter : i64 , optimize : bool) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . blend_input ; let ret = crate :: icalls :: icallptr_f64_i64_f64_bool_f64_i64_bool (method_bind , self . this . sys () . as_ptr () , input_index , time , seek , blend , filter , optimize) ; ret as _ } } # [doc = "Blend another animation node (in case this node contains children animation nodes). This function is only useful if you inherit from [AnimationRootNode] instead, else editors will not display your node for addition.\n# Default Arguments\n* `filter` - `0`\n* `optimize` - `true`"] # [doc = ""] # [inline] pub fn blend_node (& self , name : impl Into < GodotString > , node : impl AsArg < crate :: generated :: animation_node :: AnimationNode > , time : f64 , seek : bool , blend : f64 , filter : i64 , optimize : bool) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . blend_node ; let ret = crate :: icalls :: icallptr_f64_str_obj_f64_bool_f64_i64_bool (method_bind , self . this . sys () . as_ptr () , name . into () , node . as_arg_ptr () , time , seek , blend , filter , optimize) ; ret as _ } } # [doc = "Amount of inputs in this node, only useful for nodes that go into [AnimationNodeBlendTree]."] # [doc = ""] # [inline] pub fn get_input_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . get_input_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Gets the name of an input by index."] # [doc = ""] # [inline] pub fn get_input_name (& self , input : i64) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . get_input_name ; let ret = crate :: icalls :: icallptr_str_i64 (method_bind , self . this . sys () . as_ptr () , input) ; GodotString :: from_sys (ret) } } # [doc = "Gets the value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees."] # [doc = ""] # [inline] pub fn get_parameter (& self , name : impl Into < GodotString >) -> Variant { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . get_parameter ; let ret = crate :: icalls :: icallptr_var_str (method_bind , self . this . sys () . as_ptr () , name . into ()) ; Variant :: from_sys (ret) } } # [doc = "If `true`, filtering is enabled."] # [doc = ""] # [inline] pub fn is_filter_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . is_filter_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Returns `true` whether a given path is filtered."] # [doc = ""] # [inline] pub fn is_path_filtered (& self , path : impl Into < NodePath >) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . is_path_filtered ; let ret = crate :: icalls :: icallptr_bool_nodepath (method_bind , self . this . sys () . as_ptr () , path . into ()) ; ret as _ } } # [doc = "Removes an input, call this only when inactive."] # [doc = ""] # [inline] pub fn remove_input (& self , index : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . remove_input ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , index) ; } } # [doc = "If `true`, filtering is enabled."] # [doc = ""] # [inline] pub fn set_filter_enabled (& self , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . set_filter_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enable) ; } } # [doc = "Adds or removes a path for the filter."] # [doc = ""] # [inline] pub fn set_filter_path (& self , path : impl Into < NodePath > , enable : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . set_filter_path ; let ret = crate :: icalls :: icallptr_void_nodepath_bool (method_bind , self . this . sys () . as_ptr () , path . into () , enable) ; } } # [doc = "Sets a custom parameter. These are used as local storage, because resources can be reused across the tree or scenes."] # [doc = ""] # [inline] pub fn set_parameter (& self , name : impl Into < GodotString > , value : impl OwnedToVariant) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AnimationNodeMethodTable :: get (get_api ()) . set_parameter ; let ret = crate :: icalls :: icallptr_void_str_var (method_bind , self . this . sys () . as_ptr () , name . into () , value . owned_to_variant ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AnimationNode { } unsafe impl GodotObject for AnimationNode { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AnimationNode" } } impl std :: ops :: Deref for AnimationNode { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AnimationNode { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AnimationNode { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AnimationNode { } unsafe impl SubClass < crate :: generated :: object :: Object > for AnimationNode { } impl Instanciable for AnimationNode { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AnimationNode :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AnimationNodeMethodTable { pub class_constructor : sys :: godot_class_constructor , pub add_input : * mut sys :: godot_method_bind , pub blend_animation : * mut sys :: godot_method_bind , pub blend_input : * mut sys :: godot_method_bind , pub blend_node : * mut sys :: godot_method_bind , pub get_input_count : * mut sys :: godot_method_bind , pub get_input_name : * mut sys :: godot_method_bind , pub get_parameter : * mut sys :: godot_method_bind , pub is_filter_enabled : * mut sys :: godot_method_bind , pub is_path_filtered : * mut sys :: godot_method_bind , pub remove_input : * mut sys :: godot_method_bind , pub set_filter_enabled : * mut sys :: godot_method_bind , pub set_filter_path : * mut sys :: godot_method_bind , pub set_parameter : * mut sys :: godot_method_bind } impl AnimationNodeMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AnimationNodeMethodTable = AnimationNodeMethodTable { class_constructor : None , add_input : 0 as * mut sys :: godot_method_bind , blend_animation : 0 as * mut sys :: godot_method_bind , blend_input : 0 as * mut sys :: godot_method_bind , blend_node : 0 as * mut sys :: godot_method_bind , get_input_count : 0 as * mut sys :: godot_method_bind , get_input_name : 0 as * mut sys :: godot_method_bind , get_parameter : 0 as * mut sys :: godot_method_bind , is_filter_enabled : 0 as * mut sys :: godot_method_bind , is_path_filtered : 0 as * mut sys :: godot_method_bind , remove_input : 0 as * mut sys :: godot_method_bind , set_filter_enabled : 0 as * mut sys :: godot_method_bind , set_filter_path : 0 as * mut sys :: godot_method_bind , set_parameter : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AnimationNodeMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AnimationNode\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . add_input = (gd_api . godot_method_bind_get_method) (class_name , "add_input\0" . as_ptr () as * const c_char) ; table . blend_animation = (gd_api . godot_method_bind_get_method) (class_name , "blend_animation\0" . as_ptr () as * const c_char) ; table . blend_input = (gd_api . godot_method_bind_get_method) (class_name , "blend_input\0" . as_ptr () as * const c_char) ; table . blend_node = (gd_api . godot_method_bind_get_method) (class_name , "blend_node\0" . as_ptr () as * const c_char) ; table . get_input_count = (gd_api . godot_method_bind_get_method) (class_name , "get_input_count\0" . as_ptr () as * const c_char) ; table . get_input_name = (gd_api . godot_method_bind_get_method) (class_name , "get_input_name\0" . as_ptr () as * const c_char) ; table . get_parameter = (gd_api . godot_method_bind_get_method) (class_name , "get_parameter\0" . as_ptr () as * const c_char) ; table . is_filter_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_filter_enabled\0" . as_ptr () as * const c_char) ; table . is_path_filtered = (gd_api . godot_method_bind_get_method) (class_name , "is_path_filtered\0" . as_ptr () as * const c_char) ; table . remove_input = (gd_api . godot_method_bind_get_method) (class_name , "remove_input\0" . as_ptr () as * const c_char) ; table . set_filter_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_filter_enabled\0" . as_ptr () as * const c_char) ; table . set_filter_path = (gd_api . godot_method_bind_get_method) (class_name , "set_filter_path\0" . as_ptr () as * const c_char) ; table . set_parameter = (gd_api . godot_method_bind_get_method) (class_name , "set_parameter\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:250:3287
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...dTable { class_constructor : None , } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 # [doc = "`core class AudioBusLayout` inherits `Resource` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audiobuslayout.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioBusLayout inherits methods from:\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioBusLayout { this : RawObject < Self > , } impl AudioBusLayout { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioBusLayoutMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioBusLayout { } unsafe impl GodotObject for AudioBusLayout { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioBusLayout" } } impl std :: ops :: Deref for AudioBusLayout { type Target = crate :: generated :: resource :: Resource ; # [inline] fn deref (& self) -> & crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioBusLayout { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: resource :: Resource { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioBusLayout { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioBusLayout { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioBusLayout { } impl Instanciable for AudioBusLayout { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioBusLayout :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioBusLayoutMethodTable { pub class_constructor : sys :: godot_class_constructor , } impl AudioBusLayoutMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioBusLayoutMethodTable = AudioBusLayoutMethodTable { class_constructor : None , } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioBusLayoutMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioBusLayout\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:256:9748
[INFO] [stdout]     |
[INFO] [stdout] 256 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 # [doc = "`core class WebRTCDataChannel` inherits `PacketPeer` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_webrtcdatachannel.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nWebRTCDataChannel inherits methods from:\n - [PacketPeer](struct.PacketPeer.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct WebRTCDataChannel { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct ChannelState (pub i64) ; impl ChannelState { pub const CONNECTING : ChannelState = ChannelState (0i64) ; pub const OPEN : ChannelState = ChannelState (1i64) ; pub const CLOSING : ChannelState = ChannelState (2i64) ; pub const CLOSED : ChannelState = ChannelState (3i64) ; } impl From < i64 > for ChannelState { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < ChannelState > for i64 { # [inline] fn from (v : ChannelState) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct WriteMode (pub i64) ; impl WriteMode { pub const TEXT : WriteMode = WriteMode (0i64) ; pub const BINARY : WriteMode = WriteMode (1i64) ; } impl From < i64 > for WriteMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < WriteMode > for i64 { # [inline] fn from (v : WriteMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl WebRTCDataChannel { pub const STATE_CLOSED : i64 = 3i64 ; pub const STATE_CLOSING : i64 = 2i64 ; pub const STATE_CONNECTING : i64 = 0i64 ; pub const STATE_OPEN : i64 = 1i64 ; pub const WRITE_MODE_BINARY : i64 = 1i64 ; pub const WRITE_MODE_TEXT : i64 = 0i64 ; } impl WebRTCDataChannel { # [doc = ""] # [doc = ""] # [inline] pub fn close (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . close ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn get_id (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_id ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_label (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_label ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_max_packet_life_time (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_max_packet_life_time ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_max_retransmits (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_max_retransmits ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn get_protocol (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_protocol ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn get_ready_state (& self) -> crate :: generated :: web_rtc_data_channel :: ChannelState { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_ready_state ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: web_rtc_data_channel :: ChannelState (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn write_mode (& self) -> crate :: generated :: web_rtc_data_channel :: WriteMode { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . get_write_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: web_rtc_data_channel :: WriteMode (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn is_negotiated (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . is_negotiated ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_ordered (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . is_ordered ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn poll (& self) -> GodotResult { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . poll ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; GodotError :: result_from_sys (ret as _) } } # [doc = ""] # [doc = ""] # [inline] pub fn set_write_mode (& self , write_mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . set_write_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , write_mode) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn was_string_packet (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = WebRTCDataChannelMethodTable :: get (get_api ()) . was_string_packet ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } } impl gdnative_core :: private :: godot_object :: Sealed for WebRTCDataChannel { } unsafe impl GodotObject for WebRTCDataChannel { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "WebRTCDataChannel" } } impl std :: ops :: Deref for WebRTCDataChannel { type Target = crate :: generated :: packet_peer :: PacketPeer ; # [inline] fn deref (& self) -> & crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for WebRTCDataChannel { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: packet_peer :: PacketPeer { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: packet_peer :: PacketPeer > for WebRTCDataChannel { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for WebRTCDataChannel { } unsafe impl SubClass < crate :: generated :: object :: Object > for WebRTCDataChannel { } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct WebRTCDataChannelMethodTable { pub class_constructor : sys :: godot_class_constructor , pub close : * mut sys :: godot_method_bind , pub get_id : * mut sys :: godot_method_bind , pub get_label : * mut sys :: godot_method_bind , pub get_max_packet_life_time : * mut sys :: godot_method_bind , pub get_max_retransmits : * mut sys :: godot_method_bind , pub get_protocol : * mut sys :: godot_method_bind , pub get_ready_state : * mut sys :: godot_method_bind , pub get_write_mode : * mut sys :: godot_method_bind , pub is_negotiated : * mut sys :: godot_method_bind , pub is_ordered : * mut sys :: godot_method_bind , pub poll : * mut sys :: godot_method_bind , pub set_write_mode : * mut sys :: godot_method_bind , pub was_string_packet : * mut sys :: godot_method_bind } impl WebRTCDataChannelMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : WebRTCDataChannelMethodTable = WebRTCDataChannelMethodTable { class_constructor : None , close : 0 as * mut sys :: godot_method_bind , get_id : 0 as * mut sys :: godot_method_bind , get_label : 0 as * mut sys :: godot_method_bind , get_max_packet_life_time : 0 as * mut sys :: godot_method_bind , get_max_retransmits : 0 as * mut sys :: godot_method_bind , get_protocol : 0 as * mut sys :: godot_method_bind , get_ready_state : 0 as * mut sys :: godot_method_bind , get_write_mode : 0 as * mut sys :: godot_method_bind , is_negotiated : 0 as * mut sys :: godot_method_bind , is_ordered : 0 as * mut sys :: godot_method_bind , poll : 0 as * mut sys :: godot_method_bind , set_write_mode : 0 as * mut sys :: godot_method_bind , was_string_packet : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { WebRTCDataChannelMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "WebRTCDataChannel\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . close = (gd_api . godot_method_bind_get_method) (class_name , "close\0" . as_ptr () as * const c_char) ; table . get_id = (gd_api . godot_method_bind_get_method) (class_name , "get_id\0" . as_ptr () as * const c_char) ; table . get_label = (gd_api . godot_method_bind_get_method) (class_name , "get_label\0" . as_ptr () as * const c_char) ; table . get_max_packet_life_time = (gd_api . godot_method_bind_get_method) (class_name , "get_max_packet_life_time\0" . as_ptr () as * const c_char) ; table . get_max_retransmits = (gd_api . godot_method_bind_get_method) (class_name , "get_max_retransmits\0" . as_ptr () as * const c_char) ; table . get_protocol = (gd_api . godot_method_bind_get_method) (class_name , "get_protocol\0" . as_ptr () as * const c_char) ; table . get_ready_state = (gd_api . godot_method_bind_get_method) (class_name , "get_ready_state\0" . as_ptr () as * const c_char) ; table . get_write_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_write_mode\0" . as_ptr () as * const c_char) ; table . is_negotiated = (gd_api . godot_method_bind_get_method) (class_name , "is_negotiated\0" . as_ptr () as * const c_char) ; table . is_ordered = (gd_api . godot_method_bind_get_method) (class_name , "is_ordered\0" . as_ptr () as * const c_char) ; table . poll = (gd_api . godot_method_bind_get_method) (class_name , "poll\0" . as_ptr () as * const c_char) ; table . set_write_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_write_mode\0" . as_ptr () as * const c_char) ; table . was_string_packet = (gd_api . godot_method_bind_get_method) (class_name , "was_string_packet\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:988:29548
[INFO] [stdout]     |
[INFO] [stdout] 988 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 988 |                 # [doc = "`core class BakedLightmap` inherits `VisualInstance` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_bakedlightmap.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`BakedLightmap` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<BakedLightmap>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nBakedLightmap inherits methods from:\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct BakedLightmap { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct BakeError (pub i64) ; impl BakeError { pub const OK : BakeError = BakeError (0i64) ; pub const NO_SAVE_PATH : BakeError = BakeError (1i64) ; pub const NO_MESHES : BakeError = BakeError (2i64) ; pub const CANT_CREATE_IMAGE : BakeError = BakeError (3i64) ; pub const LIGHTMAP_SIZE : BakeError = BakeError (4i64) ; pub const INVALID_MESH : BakeError = BakeError (5i64) ; pub const USER_ABORTED : BakeError = BakeError (6i64) ; pub const NO_LIGHTMAPPER : BakeError = BakeError (7i64) ; } impl From < i64 > for BakeError { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < BakeError > for i64 { # [inline] fn from (v : BakeError) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct BakeQuality (pub i64) ; impl BakeQuality { pub const LOW : BakeQuality = BakeQuality (0i64) ; pub const MEDIUM : BakeQuality = BakeQuality (1i64) ; pub const HIGH : BakeQuality = BakeQuality (2i64) ; pub const ULTRA : BakeQuality = BakeQuality (3i64) ; } impl From < i64 > for BakeQuality { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < BakeQuality > for i64 { # [inline] fn from (v : BakeQuality) -> Self { v . 0 } } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct EnvironmentMode (pub i64) ; impl EnvironmentMode { pub const DISABLED : EnvironmentMode = EnvironmentMode (0i64) ; pub const SCENE : EnvironmentMode = EnvironmentMode (1i64) ; pub const CUSTOM_SKY : EnvironmentMode = EnvironmentMode (2i64) ; pub const CUSTOM_COLOR : EnvironmentMode = EnvironmentMode (3i64) ; } impl From < i64 > for EnvironmentMode { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < EnvironmentMode > for i64 { # [inline] fn from (v : EnvironmentMode) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl BakedLightmap { pub const BAKE_ERROR_CANT_CREATE_IMAGE : i64 = 3i64 ; pub const BAKE_ERROR_INVALID_MESH : i64 = 5i64 ; pub const BAKE_ERROR_LIGHTMAP_SIZE : i64 = 4i64 ; pub const BAKE_ERROR_NO_LIGHTMAPPER : i64 = 7i64 ; pub const BAKE_ERROR_NO_MESHES : i64 = 2i64 ; pub const BAKE_ERROR_NO_SAVE_PATH : i64 = 1i64 ; pub const BAKE_ERROR_OK : i64 = 0i64 ; pub const BAKE_ERROR_USER_ABORTED : i64 = 6i64 ; pub const BAKE_QUALITY_HIGH : i64 = 2i64 ; pub const BAKE_QUALITY_LOW : i64 = 0i64 ; pub const BAKE_QUALITY_MEDIUM : i64 = 1i64 ; pub const BAKE_QUALITY_ULTRA : i64 = 3i64 ; pub const ENVIRONMENT_MODE_CUSTOM_COLOR : i64 = 3i64 ; pub const ENVIRONMENT_MODE_CUSTOM_SKY : i64 = 2i64 ; pub const ENVIRONMENT_MODE_DISABLED : i64 = 0i64 ; pub const ENVIRONMENT_MODE_SCENE : i64 = 1i64 ; } impl BakedLightmap { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = BakedLightmapMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Bakes the lightmaps within the currently edited scene. Returns a [enum BakeError] to signify if the bake was successful, or if unsuccessful, how the bake failed.\n# Default Arguments\n* `from_node` - `null`\n* `create_visual_debug` - `false`"] # [doc = ""] # [inline] pub fn bake (& self , from_node : impl AsArg < crate :: generated :: node :: Node > , data_save_path : impl Into < GodotString >) -> crate :: generated :: baked_lightmap :: BakeError { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . bake ; let ret = crate :: icalls :: icallptr_i64_obj_str (method_bind , self . this . sys () . as_ptr () , from_node . as_arg_ptr () , data_save_path . into ()) ; crate :: generated :: baked_lightmap :: BakeError (ret) } } # [doc = "Three quality modes are available. Higher quality requires more rendering time. See [enum BakeQuality]."] # [doc = ""] # [inline] pub fn bake_quality (& self) -> crate :: generated :: baked_lightmap :: BakeQuality { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_bake_quality ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: baked_lightmap :: BakeQuality (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn bias (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_bias ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn bounces (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_bounces ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Grid size used for real-time capture information on dynamic objects. Cannot be larger than [member bake_cell_size]."] # [doc = ""] # [inline] pub fn capture_cell_size (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_capture_cell_size ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn capture_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_capture_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn capture_propagation (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_capture_propagation ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn capture_quality (& self) -> crate :: generated :: baked_lightmap :: BakeQuality { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_capture_quality ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: baked_lightmap :: BakeQuality (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn default_texels_per_unit (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_default_texels_per_unit ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn environment_custom_color (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_environment_custom_color ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn environment_custom_energy (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_environment_custom_energy ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn environment_custom_sky (& self) -> Option < Ref < crate :: generated :: sky :: Sky , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_environment_custom_sky ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: sky :: Sky , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn environment_custom_sky_rotation_degrees (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_environment_custom_sky_rotation_degrees ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn environment_min_light (& self) -> Color { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_environment_min_light ; let ret = crate :: icalls :: icallptr_color (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = ""] # [doc = ""] # [inline] pub fn environment_mode (& self) -> crate :: generated :: baked_lightmap :: EnvironmentMode { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_environment_mode ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: baked_lightmap :: EnvironmentMode (ret) } } # [doc = "The size of the affected area."] # [doc = ""] # [inline] pub fn extents (& self) -> Vector3 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_extents ; let ret = crate :: icalls :: icallptr_vec3 (method_bind , self . this . sys () . as_ptr ()) ; mem :: transmute (ret) } } # [doc = "The location where lightmaps will be saved."] # [doc = ""] # [inline] pub fn image_path (& self) -> GodotString { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_image_path ; let ret = crate :: icalls :: icallptr_str (method_bind , self . this . sys () . as_ptr ()) ; GodotString :: from_sys (ret) } } # [doc = "The calculated light data."] # [doc = ""] # [inline] pub fn light_data (& self) -> Option < Ref < crate :: generated :: baked_lightmap_data :: BakedLightmapData , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_light_data ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: baked_lightmap_data :: BakedLightmapData , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = ""] # [doc = ""] # [inline] pub fn max_atlas_size (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . get_max_atlas_size ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_generate_atlas_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . is_generate_atlas_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_using_color (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . is_using_color ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_using_denoiser (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . is_using_denoiser ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_using_hdr (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . is_using_hdr ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Three quality modes are available. Higher quality requires more rendering time. See [enum BakeQuality]."] # [doc = ""] # [inline] pub fn set_bake_quality (& self , quality : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_bake_quality ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , quality) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_bias (& self , bias : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_bias ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , bias) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_bounces (& self , bounces : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_bounces ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , bounces) ; } } # [doc = "Grid size used for real-time capture information on dynamic objects. Cannot be larger than [member bake_cell_size]."] # [doc = ""] # [inline] pub fn set_capture_cell_size (& self , capture_cell_size : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_capture_cell_size ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , capture_cell_size) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_capture_enabled (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_capture_enabled ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_capture_propagation (& self , propagation : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_capture_propagation ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , propagation) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_capture_quality (& self , capture_quality : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_capture_quality ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , capture_quality) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_default_texels_per_unit (& self , texels : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_default_texels_per_unit ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , texels) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_environment_custom_color (& self , color : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_environment_custom_color ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , color) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_environment_custom_energy (& self , energy : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_environment_custom_energy ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , energy) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_environment_custom_sky (& self , sky : impl AsArg < crate :: generated :: sky :: Sky >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_environment_custom_sky ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , sky . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_environment_custom_sky_rotation_degrees (& self , rotation : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_environment_custom_sky_rotation_degrees ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , rotation) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_environment_min_light (& self , min_light : Color) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_environment_min_light ; let ret = crate :: icalls :: icallptr_void_color (method_bind , self . this . sys () . as_ptr () , min_light) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_environment_mode (& self , mode : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_environment_mode ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , mode) ; } } # [doc = "The size of the affected area."] # [doc = ""] # [inline] pub fn set_extents (& self , extents : Vector3) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_extents ; let ret = crate :: icalls :: icallptr_void_vec3 (method_bind , self . this . sys () . as_ptr () , extents) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_generate_atlas (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_generate_atlas ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "The location where lightmaps will be saved."] # [doc = ""] # [inline] pub fn set_image_path (& self , image_path : impl Into < GodotString >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_image_path ; let ret = crate :: icalls :: icallptr_void_str (method_bind , self . this . sys () . as_ptr () , image_path . into ()) ; } } # [doc = "The calculated light data."] # [doc = ""] # [inline] pub fn set_light_data (& self , data : impl AsArg < crate :: generated :: baked_lightmap_data :: BakedLightmapData >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_light_data ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , data . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_max_atlas_size (& self , max_atlas_size : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_max_atlas_size ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , max_atlas_size) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_use_color (& self , use_denoiser : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_use_color ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , use_denoiser) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_use_denoiser (& self , use_denoiser : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_use_denoiser ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , use_denoiser) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_use_hdr (& self , use_denoiser : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = BakedLightmapMethodTable :: get (get_api ()) . set_use_hdr ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , use_denoiser) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for BakedLightmap { } unsafe impl GodotObject for BakedLightmap { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "BakedLightmap" } } impl QueueFree for BakedLightmap { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for BakedLightmap { type Target = crate :: generated :: visual_instance :: VisualInstance ; # [inline] fn deref (& self) -> & crate :: generated :: visual_instance :: VisualInstance { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for BakedLightmap { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: visual_instance :: VisualInstance { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for BakedLightmap { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for BakedLightmap { } unsafe impl SubClass < crate :: generated :: node :: Node > for BakedLightmap { } unsafe impl SubClass < crate :: generated :: object :: Object > for BakedLightmap { } impl Instanciable for BakedLightmap { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { BakedLightmap :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct BakedLightmapMethodTable { pub class_constructor : sys :: godot_class_constructor , pub bake : * mut sys :: godot_method_bind , pub get_bake_quality : * mut sys :: godot_method_bind , pub get_bias : * mut sys :: godot_method_bind , pub get_bounces : * mut sys :: godot_method_bind , pub get_capture_cell_size : * mut sys :: godot_method_bind , pub get_capture_enabled : * mut sys :: godot_method_bind , pub get_capture_propagation : * mut sys :: godot_method_bind , pub get_capture_quality : * mut sys :: godot_method_bind , pub get_default_texels_per_unit : * mut sys :: godot_method_bind , pub get_environment_custom_color : * mut sys :: godot_method_bind , pub get_environment_custom_energy : * mut sys :: godot_method_bind , pub get_environment_custom_sky : * mut sys :: godot_method_bind , pub get_environment_custom_sky_rotation_degrees : * mut sys :: godot_method_bind , pub get_environment_min_light : * mut sys :: godot_method_bind , pub get_environment_mode : * mut sys :: godot_method_bind , pub get_extents : * mut sys :: godot_method_bind , pub get_image_path : * mut sys :: godot_method_bind , pub get_light_data : * mut sys :: godot_method_bind , pub get_max_atlas_size : * mut sys :: godot_method_bind , pub is_generate_atlas_enabled : * mut sys :: godot_method_bind , pub is_using_color : * mut sys :: godot_method_bind , pub is_using_denoiser : * mut sys :: godot_method_bind , pub is_using_hdr : * mut sys :: godot_method_bind , pub set_bake_quality : * mut sys :: godot_method_bind , pub set_bias : * mut sys :: godot_method_bind , pub set_bounces : * mut sys :: godot_method_bind , pub set_capture_cell_size : * mut sys :: godot_method_bind , pub set_capture_enabled : * mut sys :: godot_method_bind , pub set_capture_propagation : * mut sys :: godot_method_bind , pub set_capture_quality : * mut sys :: godot_method_bind , pub set_default_texels_per_unit : * mut sys :: godot_method_bind , pub set_environment_custom_color : * mut sys :: godot_method_bind , pub set_environment_custom_energy : * mut sys :: godot_method_bind , pub set_environment_custom_sky : * mut sys :: godot_method_bind , pub set_environment_custom_sky_rotation_degrees : * mut sys :: godot_method_bind , pub set_environment_min_light : * mut sys :: godot_method_bind , pub set_environment_mode : * mut sys :: godot_method_bind , pub set_extents : * mut sys :: godot_method_bind , pub set_generate_atlas : * mut sys :: godot_method_bind , pub set_image_path : * mut sys :: godot_method_bind , pub set_light_data : * mut sys :: godot_method_bind , pub set_max_atlas_size : * mut sys :: godot_method_bind , pub set_use_color : * mut sys :: godot_method_bind , pub set_use_denoiser : * mut sys :: godot_method_bind , pub set_use_hdr : * mut sys :: godot_method_bind } impl BakedLightmapMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : BakedLightmapMethodTable = BakedLightmapMethodTable { class_constructor : None , bake : 0 as * mut sys :: godot_method_bind , get_bake_quality : 0 as * mut sys :: godot_method_bind , get_bias : 0 as * mut sys :: godot_method_bind , get_bounces : 0 as * mut sys :: godot_method_bind , get_capture_cell_size : 0 as * mut sys :: godot_method_bind , get_capture_enabled : 0 as * mut sys :: godot_method_bind , get_capture_propagation : 0 as * mut sys :: godot_method_bind , get_capture_quality : 0 as * mut sys :: godot_method_bind , get_default_texels_per_unit : 0 as * mut sys :: godot_method_bind , get_environment_custom_color : 0 as * mut sys :: godot_method_bind , get_environment_custom_energy : 0 as * mut sys :: godot_method_bind , get_environment_custom_sky : 0 as * mut sys :: godot_method_bind , get_environment_custom_sky_rotation_degrees : 0 as * mut sys :: godot_method_bind , get_environment_min_light : 0 as * mut sys :: godot_method_bind , get_environment_mode : 0 as * mut sys :: godot_method_bind , get_extents : 0 as * mut sys :: godot_method_bind , get_image_path : 0 as * mut sys :: godot_method_bind , get_light_data : 0 as * mut sys :: godot_method_bind , get_max_atlas_size : 0 as * mut sys :: godot_method_bind , is_generate_atlas_enabled : 0 as * mut sys :: godot_method_bind , is_using_color : 0 as * mut sys :: godot_method_bind , is_using_denoiser : 0 as * mut sys :: godot_method_bind , is_using_hdr : 0 as * mut sys :: godot_method_bind , set_bake_quality : 0 as * mut sys :: godot_method_bind , set_bias : 0 as * mut sys :: godot_method_bind , set_bounces : 0 as * mut sys :: godot_method_bind , set_capture_cell_size : 0 as * mut sys :: godot_method_bind , set_capture_enabled : 0 as * mut sys :: godot_method_bind , set_capture_propagation : 0 as * mut sys :: godot_method_bind , set_capture_quality : 0 as * mut sys :: godot_method_bind , set_default_texels_per_unit : 0 as * mut sys :: godot_method_bind , set_environment_custom_color : 0 as * mut sys :: godot_method_bind , set_environment_custom_energy : 0 as * mut sys :: godot_method_bind , set_environment_custom_sky : 0 as * mut sys :: godot_method_bind , set_environment_custom_sky_rotation_degrees : 0 as * mut sys :: godot_method_bind , set_environment_min_light : 0 as * mut sys :: godot_method_bind , set_environment_mode : 0 as * mut sys :: godot_method_bind , set_extents : 0 as * mut sys :: godot_method_bind , set_generate_atlas : 0 as * mut sys :: godot_method_bind , set_image_path : 0 as * mut sys :: godot_method_bind , set_light_data : 0 as * mut sys :: godot_method_bind , set_max_atlas_size : 0 as * mut sys :: godot_method_bind , set_use_color : 0 as * mut sys :: godot_method_bind , set_use_denoiser : 0 as * mut sys :: godot_method_bind , set_use_hdr : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { BakedLightmapMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "BakedLightmap\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . bake = (gd_api . godot_method_bind_get_method) (class_name , "bake\0" . as_ptr () as * const c_char) ; table . get_bake_quality = (gd_api . godot_method_bind_get_method) (class_name , "get_bake_quality\0" . as_ptr () as * const c_char) ; table . get_bias = (gd_api . godot_method_bind_get_method) (class_name , "get_bias\0" . as_ptr () as * const c_char) ; table . get_bounces = (gd_api . godot_method_bind_get_method) (class_name , "get_bounces\0" . as_ptr () as * const c_char) ; table . get_capture_cell_size = (gd_api . godot_method_bind_get_method) (class_name , "get_capture_cell_size\0" . as_ptr () as * const c_char) ; table . get_capture_enabled = (gd_api . godot_method_bind_get_method) (class_name , "get_capture_enabled\0" . as_ptr () as * const c_char) ; table . get_capture_propagation = (gd_api . godot_method_bind_get_method) (class_name , "get_capture_propagation\0" . as_ptr () as * const c_char) ; table . get_capture_quality = (gd_api . godot_method_bind_get_method) (class_name , "get_capture_quality\0" . as_ptr () as * const c_char) ; table . get_default_texels_per_unit = (gd_api . godot_method_bind_get_method) (class_name , "get_default_texels_per_unit\0" . as_ptr () as * const c_char) ; table . get_environment_custom_color = (gd_api . godot_method_bind_get_method) (class_name , "get_environment_custom_color\0" . as_ptr () as * const c_char) ; table . get_environment_custom_energy = (gd_api . godot_method_bind_get_method) (class_name , "get_environment_custom_energy\0" . as_ptr () as * const c_char) ; table . get_environment_custom_sky = (gd_api . godot_method_bind_get_method) (class_name , "get_environment_custom_sky\0" . as_ptr () as * const c_char) ; table . get_environment_custom_sky_rotation_degrees = (gd_api . godot_method_bind_get_method) (class_name , "get_environment_custom_sky_rotation_degrees\0" . as_ptr () as * const c_char) ; table . get_environment_min_light = (gd_api . godot_method_bind_get_method) (class_name , "get_environment_min_light\0" . as_ptr () as * const c_char) ; table . get_environment_mode = (gd_api . godot_method_bind_get_method) (class_name , "get_environment_mode\0" . as_ptr () as * const c_char) ; table . get_extents = (gd_api . godot_method_bind_get_method) (class_name , "get_extents\0" . as_ptr () as * const c_char) ; table . get_image_path = (gd_api . godot_method_bind_get_method) (class_name , "get_image_path\0" . as_ptr () as * const c_char) ; table . get_light_data = (gd_api . godot_method_bind_get_method) (class_name , "get_light_data\0" . as_ptr () as * const c_char) ; table . get_max_atlas_size = (gd_api . godot_method_bind_get_method) (class_name , "get_max_atlas_size\0" . as_ptr () as * const c_char) ; table . is_generate_atlas_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_generate_atlas_enabled\0" . as_ptr () as * const c_char) ; table . is_using_color = (gd_api . godot_method_bind_get_method) (class_name , "is_using_color\0" . as_ptr () as * const c_char) ; table . is_using_denoiser = (gd_api . godot_method_bind_get_method) (class_name , "is_using_denoiser\0" . as_ptr () as * const c_char) ; table . is_using_hdr = (gd_api . godot_method_bind_get_method) (class_name , "is_using_hdr\0" . as_ptr () as * const c_char) ; table . set_bake_quality = (gd_api . godot_method_bind_get_method) (class_name , "set_bake_quality\0" . as_ptr () as * const c_char) ; table . set_bias = (gd_api . godot_method_bind_get_method) (class_name , "set_bias\0" . as_ptr () as * const c_char) ; table . set_bounces = (gd_api . godot_method_bind_get_method) (class_name , "set_bounces\0" . as_ptr () as * const c_char) ; table . set_capture_cell_size = (gd_api . godot_method_bind_get_method) (class_name , "set_capture_cell_size\0" . as_ptr () as * const c_char) ; table . set_capture_enabled = (gd_api . godot_method_bind_get_method) (class_name , "set_capture_enabled\0" . as_ptr () as * const c_char) ; table . set_capture_propagation = (gd_api . godot_method_bind_get_method) (class_name , "set_capture_propagation\0" . as_ptr () as * const c_char) ; table . set_capture_quality = (gd_api . godot_method_bind_get_method) (class_name , "set_capture_quality\0" . as_ptr () as * const c_char) ; table . set_default_texels_per_unit = (gd_api . godot_method_bind_get_method) (class_name , "set_default_texels_per_unit\0" . as_ptr () as * const c_char) ; table . set_environment_custom_color = (gd_api . godot_method_bind_get_method) (class_name , "set_environment_custom_color\0" . as_ptr () as * const c_char) ; table . set_environment_custom_energy = (gd_api . godot_method_bind_get_method) (class_name , "set_environment_custom_energy\0" . as_ptr () as * const c_char) ; table . set_environment_custom_sky = (gd_api . godot_method_bind_get_method) (class_name , "set_environment_custom_sky\0" . as_ptr () as * const c_char) ; table . set_environment_custom_sky_rotation_degrees = (gd_api . godot_method_bind_get_method) (class_name , "set_environment_custom_sky_rotation_degrees\0" . as_ptr () as * const c_char) ; table . set_environment_min_light = (gd_api . godot_method_bind_get_method) (class_name , "set_environment_min_light\0" . as_ptr () as * const c_char) ; table . set_environment_mode = (gd_api . godot_method_bind_get_method) (class_name , "set_environment_mode\0" . as_ptr () as * const c_char) ; table . set_extents = (gd_api . godot_method_bind_get_method) (class_name , "set_extents\0" . as_ptr () as * const c_char) ; table . set_generate_atlas = (gd_api . godot_method_bind_get_method) (class_name , "set_generate_atlas\0" . as_ptr () as * const c_char) ; table . set_image_path = (gd_api . godot_method_bind_get_method) (class_name , "set_image_path\0" . as_ptr () as * const c_char) ; table . set_light_data = (gd_api . godot_method_bind_get_method) (class_name , "set_light_data\0" . as_ptr () as * const c_char) ; table . set_max_atlas_size = (gd_api . godot_method_bind_get_method) (class_name , "set_max_atlas_size\0" . as_ptr () as * const c_char) ; table . set_use_color = (gd_api . godot_method_bind_get_method) (class_name , "set_use_color\0" . as_ptr () as * const c_char) ; table . set_use_denoiser = (gd_api . godot_method_bind_get_method) (class_name , "set_use_denoiser\0" . as_ptr () as * const c_char) ; table . set_use_hdr = (gd_api . godot_method_bind_get_method) (class_name , "set_use_hdr\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:262:5646
[INFO] [stdout]     |
[INFO] [stdout] 262 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 # [doc = "`core class GridContainer` inherits `Container` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_gridcontainer.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`GridContainer` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<GridContainer>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nGridContainer inherits methods from:\n - [Container](struct.Container.html)\n - [Control](struct.Control.html)\n - [CanvasItem](struct.CanvasItem.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct GridContainer { this : RawObject < Self > , } impl GridContainer { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = GridContainerMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "The number of columns in the [GridContainer]. If modified, [GridContainer] reorders its Control-derived children to accommodate the new layout."] # [doc = ""] # [inline] pub fn columns (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = GridContainerMethodTable :: get (get_api ()) . get_columns ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The number of columns in the [GridContainer]. If modified, [GridContainer] reorders its Control-derived children to accommodate the new layout."] # [doc = ""] # [inline] pub fn set_columns (& self , columns : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = GridContainerMethodTable :: get (get_api ()) . set_columns ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , columns) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for GridContainer { } unsafe impl GodotObject for GridContainer { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "GridContainer" } } impl QueueFree for GridContainer { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for GridContainer { type Target = crate :: generated :: container :: Container ; # [inline] fn deref (& self) -> & crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for GridContainer { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: container :: Container { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: container :: Container > for GridContainer { } unsafe impl SubClass < crate :: generated :: control :: Control > for GridContainer { } unsafe impl SubClass < crate :: generated :: canvas_item :: CanvasItem > for GridContainer { } unsafe impl SubClass < crate :: generated :: node :: Node > for GridContainer { } unsafe impl SubClass < crate :: generated :: object :: Object > for GridContainer { } impl Instanciable for GridContainer { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { GridContainer :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct GridContainerMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_columns : * mut sys :: godot_method_bind , pub set_columns : * mut sys :: godot_method_bind } impl GridContainerMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : GridContainerMethodTable = GridContainerMethodTable { class_constructor : None , get_columns : 0 as * mut sys :: godot_method_bind , set_columns : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { GridContainerMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "GridContainer\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_columns = (gd_api . godot_method_bind_get_method) (class_name , "get_columns\0" . as_ptr () as * const c_char) ; table . set_columns = (gd_api . godot_method_bind_get_method) (class_name , "set_columns\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:268:5442
[INFO] [stdout]     |
[INFO] [stdout] 268 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 # [doc = "`core class ARVROrigin` inherits `Spatial` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_arvrorigin.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`ARVROrigin` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<ARVROrigin>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nARVROrigin inherits methods from:\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct ARVROrigin { this : RawObject < Self > , } impl ARVROrigin { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = ARVROriginMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.\n**Note:** This method is a passthrough to the [ARVRServer] itself."] # [doc = ""] # [inline] pub fn world_scale (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVROriginMethodTable :: get (get_api ()) . get_world_scale ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter.\n**Note:** This method is a passthrough to the [ARVRServer] itself."] # [doc = ""] # [inline] pub fn set_world_scale (& self , world_scale : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = ARVROriginMethodTable :: get (get_api ()) . set_world_scale ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , world_scale) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for ARVROrigin { } unsafe impl GodotObject for ARVROrigin { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "ARVROrigin" } } impl QueueFree for ARVROrigin { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for ARVROrigin { type Target = crate :: generated :: spatial :: Spatial ; # [inline] fn deref (& self) -> & crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for ARVROrigin { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: spatial :: Spatial { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for ARVROrigin { } unsafe impl SubClass < crate :: generated :: node :: Node > for ARVROrigin { } unsafe impl SubClass < crate :: generated :: object :: Object > for ARVROrigin { } impl Instanciable for ARVROrigin { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { ARVROrigin :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct ARVROriginMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_world_scale : * mut sys :: godot_method_bind , pub set_world_scale : * mut sys :: godot_method_bind } impl ARVROriginMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : ARVROriginMethodTable = ARVROriginMethodTable { class_constructor : None , get_world_scale : 0 as * mut sys :: godot_method_bind , set_world_scale : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { ARVROriginMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "ARVROrigin\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "get_world_scale\0" . as_ptr () as * const c_char) ; table . set_world_scale = (gd_api . godot_method_bind_get_method) (class_name , "set_world_scale\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:274:6442
[INFO] [stdout]     |
[INFO] [stdout] 274 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 # [doc = "`core class AudioEffectRecord` inherits `AudioEffect` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectrecord.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectRecord inherits methods from:\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectRecord { this : RawObject < Self > , } impl AudioEffectRecord { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectRecordMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Specifies the format in which the sample will be recorded. See [enum AudioStreamSample.Format] for available formats."] # [doc = ""] # [inline] pub fn format (& self) -> crate :: generated :: audio_stream_sample :: Format { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . get_format ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: audio_stream_sample :: Format (ret) } } # [doc = "Returns the recorded sample."] # [doc = ""] # [inline] pub fn get_recording (& self) -> Option < Ref < crate :: generated :: audio_stream_sample :: AudioStreamSample , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . get_recording ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: audio_stream_sample :: AudioStreamSample , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns whether the recording is active or not."] # [doc = ""] # [inline] pub fn is_recording_active (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . is_recording_active ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Specifies the format in which the sample will be recorded. See [enum AudioStreamSample.Format] for available formats."] # [doc = ""] # [inline] pub fn set_format (& self , format : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . set_format ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , format) ; } } # [doc = "If `true`, the sound will be recorded. Note that restarting the recording will remove the previously recorded sample."] # [doc = ""] # [inline] pub fn set_recording_active (& self , record : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectRecordMethodTable :: get (get_api ()) . set_recording_active ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , record) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectRecord { } unsafe impl GodotObject for AudioEffectRecord { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectRecord" } } impl std :: ops :: Deref for AudioEffectRecord { type Target = crate :: generated :: audio_effect :: AudioEffect ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectRecord { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectRecord { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectRecord { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectRecord { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectRecord { } impl Instanciable for AudioEffectRecord { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectRecord :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectRecordMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_format : * mut sys :: godot_method_bind , pub get_recording : * mut sys :: godot_method_bind , pub is_recording_active : * mut sys :: godot_method_bind , pub set_format : * mut sys :: godot_method_bind , pub set_recording_active : * mut sys :: godot_method_bind } impl AudioEffectRecordMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectRecordMethodTable = AudioEffectRecordMethodTable { class_constructor : None , get_format : 0 as * mut sys :: godot_method_bind , get_recording : 0 as * mut sys :: godot_method_bind , is_recording_active : 0 as * mut sys :: godot_method_bind , set_format : 0 as * mut sys :: godot_method_bind , set_recording_active : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectRecordMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectRecord\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_format = (gd_api . godot_method_bind_get_method) (class_name , "get_format\0" . as_ptr () as * const c_char) ; table . get_recording = (gd_api . godot_method_bind_get_method) (class_name , "get_recording\0" . as_ptr () as * const c_char) ; table . is_recording_active = (gd_api . godot_method_bind_get_method) (class_name , "is_recording_active\0" . as_ptr () as * const c_char) ; table . set_format = (gd_api . godot_method_bind_get_method) (class_name , "set_format\0" . as_ptr () as * const c_char) ; table . set_recording_active = (gd_api . godot_method_bind_get_method) (class_name , "set_recording_active\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:280:13362
[INFO] [stdout]     |
[INFO] [stdout] 280 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 # [doc = "`core class MeshInstance` inherits `GeometryInstance` (unsafe)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_meshinstance.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nNon reference counted objects such as the ones of this type are usually owned by the engine.\n\n`MeshInstance` is a reference-only type. Persistent references can\nonly exist in the unsafe `Ref<MeshInstance>` form.\n\nIn the cases where Rust code owns an object of this type, for example if the object was just\ncreated on the Rust side and not passed to the engine yet, ownership should be either given\nto the engine or the object must be manually destroyed using `Ref::free`, or `Ref::queue_free`\nif it is a `Node`."] # [doc = "\n## Class hierarchy\n\nMeshInstance inherits methods from:\n - [GeometryInstance](struct.GeometryInstance.html)\n - [VisualInstance](struct.VisualInstance.html)\n - [Spatial](struct.Spatial.html)\n - [Node](struct.Node.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct MeshInstance { this : RawObject < Self > , } impl MeshInstance { # [doc = "Creates a new instance of this object.\n\nBecause this type is not reference counted, the lifetime of the returned object\nis *not* automatically managed.\n\nImmediately after creation, the object is owned by the caller, and can be\npassed to the engine (in which case the engine will be responsible for\ndestroying the object) or destroyed manually using `Ref::free`, or preferably\n`Ref::queue_free` if it is a `Node`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = MeshInstanceMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "This helper creates a [StaticBody] child node with a [ConvexPolygonShape] collision shape calculated from the mesh geometry. It's mainly used for testing."] # [doc = ""] # [inline] pub fn create_convex_collision (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . create_convex_collision ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "This helper creates a [MeshInstance] child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing."] # [doc = ""] # [inline] pub fn create_debug_tangents (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . create_debug_tangents ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = "This helper creates a [StaticBody] child node with a [ConcavePolygonShape] collision shape calculated from the mesh geometry. It's mainly used for testing."] # [doc = ""] # [inline] pub fn create_trimesh_collision (& self) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . create_trimesh_collision ; let ret = crate :: icalls :: icallptr_void (method_bind , self . this . sys () . as_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn get_active_material (& self , surface : i64) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_active_material ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , surface) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "The [Mesh] resource for the instance."] # [doc = ""] # [inline] pub fn mesh (& self) -> Option < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_mesh ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: mesh :: Mesh , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "[NodePath] to the [Skeleton] associated with the instance."] # [doc = ""] # [inline] pub fn skeleton_path (& self) -> NodePath { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_skeleton_path ; let ret = crate :: icalls :: icallptr_nodepath (method_bind , self . this . sys () . as_ptr ()) ; NodePath :: from_sys (ret) } } # [doc = "Sets the skin to be used by this instance."] # [doc = ""] # [inline] pub fn skin (& self) -> Option < Ref < crate :: generated :: skin :: Skin , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_skin ; let ret = crate :: icalls :: icallptr_obj (method_bind , self . this . sys () . as_ptr ()) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: skin :: Skin , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the [Material] for a surface of the [Mesh] resource."] # [doc = ""] # [inline] pub fn get_surface_material (& self , surface : i64) -> Option < Ref < crate :: generated :: material :: Material , thread_access :: Shared > > { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_surface_material ; let ret = crate :: icalls :: icallptr_obj_i64 (method_bind , self . this . sys () . as_ptr () , surface) ; ptr :: NonNull :: new (ret) . map (| sys | < Ref < crate :: generated :: material :: Material , thread_access :: Shared >> :: move_from_sys (sys)) } } # [doc = "Returns the number of surface materials."] # [doc = ""] # [inline] pub fn get_surface_material_count (& self) -> i64 { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . get_surface_material_count ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn is_software_skinning_transform_normals_enabled (& self) -> bool { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . is_software_skinning_transform_normals_enabled ; let ret = crate :: icalls :: icallptr_bool (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "The [Mesh] resource for the instance."] # [doc = ""] # [inline] pub fn set_mesh (& self , mesh : impl AsArg < crate :: generated :: mesh :: Mesh >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_mesh ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , mesh . as_arg_ptr ()) ; } } # [doc = "[NodePath] to the [Skeleton] associated with the instance."] # [doc = ""] # [inline] pub fn set_skeleton_path (& self , skeleton_path : impl Into < NodePath >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_skeleton_path ; let ret = crate :: icalls :: icallptr_void_nodepath (method_bind , self . this . sys () . as_ptr () , skeleton_path . into ()) ; } } # [doc = "Sets the skin to be used by this instance."] # [doc = ""] # [inline] pub fn set_skin (& self , skin : impl AsArg < crate :: generated :: skin :: Skin >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_skin ; let ret = crate :: icalls :: icallptr_void_obj (method_bind , self . this . sys () . as_ptr () , skin . as_arg_ptr ()) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_software_skinning_transform_normals (& self , enabled : bool) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_software_skinning_transform_normals ; let ret = crate :: icalls :: icallptr_void_bool (method_bind , self . this . sys () . as_ptr () , enabled) ; } } # [doc = "Sets the [Material] for a surface of the [Mesh] resource."] # [doc = ""] # [inline] pub fn set_surface_material (& self , surface : i64 , material : impl AsArg < crate :: generated :: material :: Material >) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = MeshInstanceMethodTable :: get (get_api ()) . set_surface_material ; let ret = crate :: icalls :: icallptr_void_i64_obj (method_bind , self . this . sys () . as_ptr () , surface , material . as_arg_ptr ()) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for MeshInstance { } unsafe impl GodotObject for MeshInstance { type RefKind = ref_kind :: ManuallyManaged ; # [inline] fn class_name () -> & 'static str { "MeshInstance" } } impl QueueFree for MeshInstance { # [inline] unsafe fn godot_queue_free (obj : * mut sys :: godot_object) { let method_bind : * mut sys :: godot_method_bind = crate :: generated :: node :: NodeMethodTable :: get (get_api ()) . queue_free ; crate :: icalls :: icallptr_void (method_bind , obj) } } impl std :: ops :: Deref for MeshInstance { type Target = crate :: generated :: geometry_instance :: GeometryInstance ; # [inline] fn deref (& self) -> & crate :: generated :: geometry_instance :: GeometryInstance { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for MeshInstance { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: geometry_instance :: GeometryInstance { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: geometry_instance :: GeometryInstance > for MeshInstance { } unsafe impl SubClass < crate :: generated :: visual_instance :: VisualInstance > for MeshInstance { } unsafe impl SubClass < crate :: generated :: spatial :: Spatial > for MeshInstance { } unsafe impl SubClass < crate :: generated :: node :: Node > for MeshInstance { } unsafe impl SubClass < crate :: generated :: object :: Object > for MeshInstance { } impl Instanciable for MeshInstance { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { MeshInstance :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct MeshInstanceMethodTable { pub class_constructor : sys :: godot_class_constructor , pub create_convex_collision : * mut sys :: godot_method_bind , pub create_debug_tangents : * mut sys :: godot_method_bind , pub create_trimesh_collision : * mut sys :: godot_method_bind , pub get_active_material : * mut sys :: godot_method_bind , pub get_mesh : * mut sys :: godot_method_bind , pub get_skeleton_path : * mut sys :: godot_method_bind , pub get_skin : * mut sys :: godot_method_bind , pub get_surface_material : * mut sys :: godot_method_bind , pub get_surface_material_count : * mut sys :: godot_method_bind , pub is_software_skinning_transform_normals_enabled : * mut sys :: godot_method_bind , pub set_mesh : * mut sys :: godot_method_bind , pub set_skeleton_path : * mut sys :: godot_method_bind , pub set_skin : * mut sys :: godot_method_bind , pub set_software_skinning_transform_normals : * mut sys :: godot_method_bind , pub set_surface_material : * mut sys :: godot_method_bind } impl MeshInstanceMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : MeshInstanceMethodTable = MeshInstanceMethodTable { class_constructor : None , create_convex_collision : 0 as * mut sys :: godot_method_bind , create_debug_tangents : 0 as * mut sys :: godot_method_bind , create_trimesh_collision : 0 as * mut sys :: godot_method_bind , get_active_material : 0 as * mut sys :: godot_method_bind , get_mesh : 0 as * mut sys :: godot_method_bind , get_skeleton_path : 0 as * mut sys :: godot_method_bind , get_skin : 0 as * mut sys :: godot_method_bind , get_surface_material : 0 as * mut sys :: godot_method_bind , get_surface_material_count : 0 as * mut sys :: godot_method_bind , is_software_skinning_transform_normals_enabled : 0 as * mut sys :: godot_method_bind , set_mesh : 0 as * mut sys :: godot_method_bind , set_skeleton_path : 0 as * mut sys :: godot_method_bind , set_skin : 0 as * mut sys :: godot_method_bind , set_software_skinning_transform_normals : 0 as * mut sys :: godot_method_bind , set_surface_material : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { MeshInstanceMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "MeshInstance\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . create_convex_collision = (gd_api . godot_method_bind_get_method) (class_name , "create_convex_collision\0" . as_ptr () as * const c_char) ; table . create_debug_tangents = (gd_api . godot_method_bind_get_method) (class_name , "create_debug_tangents\0" . as_ptr () as * const c_char) ; table . create_trimesh_collision = (gd_api . godot_method_bind_get_method) (class_name , "create_trimesh_collision\0" . as_ptr () as * const c_char) ; table . get_active_material = (gd_api . godot_method_bind_get_method) (class_name , "get_active_material\0" . as_ptr () as * const c_char) ; table . get_mesh = (gd_api . godot_method_bind_get_method) (class_name , "get_mesh\0" . as_ptr () as * const c_char) ; table . get_skeleton_path = (gd_api . godot_method_bind_get_method) (class_name , "get_skeleton_path\0" . as_ptr () as * const c_char) ; table . get_skin = (gd_api . godot_method_bind_get_method) (class_name , "get_skin\0" . as_ptr () as * const c_char) ; table . get_surface_material = (gd_api . godot_method_bind_get_method) (class_name , "get_surface_material\0" . as_ptr () as * const c_char) ; table . get_surface_material_count = (gd_api . godot_method_bind_get_method) (class_name , "get_surface_material_count\0" . as_ptr () as * const c_char) ; table . is_software_skinning_transform_normals_enabled = (gd_api . godot_method_bind_get_method) (class_name , "is_software_skinning_transform_normals_enabled\0" . as_ptr () as * const c_char) ; table . set_mesh = (gd_api . godot_method_bind_get_method) (class_name , "set_mesh\0" . as_ptr () as * const c_char) ; table . set_skeleton_path = (gd_api . godot_method_bind_get_method) (class_name , "set_skeleton_path\0" . as_ptr () as * const c_char) ; table . set_skin = (gd_api . godot_method_bind_get_method) (class_name , "set_skin\0" . as_ptr () as * const c_char) ; table . set_software_skinning_transform_normals = (gd_api . godot_method_bind_get_method) (class_name , "set_software_skinning_transform_normals\0" . as_ptr () as * const c_char) ; table . set_surface_material = (gd_api . godot_method_bind_get_method) (class_name , "set_surface_material\0" . as_ptr () as * const c_char) ; } } }
[INFO] [stdout]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/gdnative-bindings-lily/867b33e2428eba8c/out/generated.rs:286:7903
[INFO] [stdout]     |
[INFO] [stdout] 286 | ...0 as * mut sys :: godot_method_bind } ; & mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'st...
[INFO] [stdout]     |                                            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 286 |                 # [doc = "`core class AudioEffectFilter` inherits `AudioEffect` (reference counted)."] # [doc = "## Official documentation\n\nSee the [documentation of this class](https://godot.readthedocs.io/en/latest/classes/class_audioeffectfilter.html) in the Godot engine's official documentation.\nThe method descriptions are generated from it and typically contain code samples in GDScript, not Rust."] # [doc = "## Memory management\n\nThe lifetime of this object is automatically managed through reference counting."] # [doc = "\n## Class hierarchy\n\nAudioEffectFilter inherits methods from:\n - [AudioEffect](struct.AudioEffect.html)\n - [Resource](struct.Resource.html)\n - [Reference](struct.Reference.html)\n - [Object](struct.Object.html)\n"] # [doc = ""] # [doc = "\n## Safety\n\nAll types in the Godot API have \"interior mutability\" in Rust parlance.\nTo enforce that the official [thread-safety guidelines][thread-safety] are\nfollowed, the typestate pattern is used in the `Ref` and `TRef` smart pointers,\nand the `Instance` API. The typestate `Access` in these types tracks whether the\naccess is unique, shared, or exclusive to the current thread. For more information,\nsee the type-level documentation on `Ref`.\n\n[thread-safety]: https://docs.godotengine.org/en/stable/tutorials/threads/thread_safe_apis.html"] # [allow (non_camel_case_types)] # [derive (Debug)] pub struct AudioEffectFilter { this : RawObject < Self > , } # [derive (Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash)] pub struct FilterDb (pub i64) ; impl FilterDb { pub const _6DB : FilterDb = FilterDb (0i64) ; pub const _12DB : FilterDb = FilterDb (1i64) ; pub const _18DB : FilterDb = FilterDb (2i64) ; pub const _24DB : FilterDb = FilterDb (3i64) ; } impl From < i64 > for FilterDb { # [inline] fn from (v : i64) -> Self { Self (v) } } impl From < FilterDb > for i64 { # [inline] fn from (v : FilterDb) -> Self { v . 0 } } # [doc = "Constants"] # [allow (non_upper_case_globals)] impl AudioEffectFilter { pub const FILTER_12DB : i64 = 1i64 ; pub const FILTER_18DB : i64 = 2i64 ; pub const FILTER_24DB : i64 = 3i64 ; pub const FILTER_6DB : i64 = 0i64 ; } impl AudioEffectFilter { # [doc = "Creates a new instance of this object.\n\nThis is a reference-counted type. The returned object is automatically managed\nby `Ref`."] # [inline] pub fn new () -> Ref < Self , thread_access :: Unique > { unsafe { let gd_api = get_api () ; let ctor = AudioEffectFilterMethodTable :: get (gd_api) . class_constructor . unwrap () ; let obj = ptr :: NonNull :: new (ctor ()) . expect ("constructor should not return null") ; Ref :: init_from_sys (obj) } } # [doc = "Threshold frequency for the filter, in Hz."] # [doc = ""] # [inline] pub fn cutoff (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_cutoff ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = ""] # [doc = ""] # [inline] pub fn db (& self) -> crate :: generated :: audio_effect_filter :: FilterDb { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_db ; let ret = crate :: icalls :: icallptr_i64 (method_bind , self . this . sys () . as_ptr ()) ; crate :: generated :: audio_effect_filter :: FilterDb (ret) } } # [doc = "Gain amount of the frequencies after the filter."] # [doc = ""] # [inline] pub fn gain (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_gain ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Amount of boost in the frequency range near the cutoff frequency."] # [doc = ""] # [inline] pub fn resonance (& self) -> f64 { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . get_resonance ; let ret = crate :: icalls :: icallptr_f64 (method_bind , self . this . sys () . as_ptr ()) ; ret as _ } } # [doc = "Threshold frequency for the filter, in Hz."] # [doc = ""] # [inline] pub fn set_cutoff (& self , freq : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_cutoff ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , freq) ; } } # [doc = ""] # [doc = ""] # [inline] pub fn set_db (& self , amount : i64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_db ; let ret = crate :: icalls :: icallptr_void_i64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "Gain amount of the frequencies after the filter."] # [doc = ""] # [inline] pub fn set_gain (& self , amount : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_gain ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } # [doc = "Amount of boost in the frequency range near the cutoff frequency."] # [doc = ""] # [inline] pub fn set_resonance (& self , amount : f64) -> () { unsafe { let method_bind : * mut sys :: godot_method_bind = AudioEffectFilterMethodTable :: get (get_api ()) . set_resonance ; let ret = crate :: icalls :: icallptr_void_f64 (method_bind , self . this . sys () . as_ptr () , amount) ; } } } impl gdnative_core :: private :: godot_object :: Sealed for AudioEffectFilter { } unsafe impl GodotObject for AudioEffectFilter { type RefKind = ref_kind :: RefCounted ; # [inline] fn class_name () -> & 'static str { "AudioEffectFilter" } } impl std :: ops :: Deref for AudioEffectFilter { type Target = crate :: generated :: audio_effect :: AudioEffect ; # [inline] fn deref (& self) -> & crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } impl std :: ops :: DerefMut for AudioEffectFilter { # [inline] fn deref_mut (& mut self) -> & mut crate :: generated :: audio_effect :: AudioEffect { unsafe { std :: mem :: transmute (self) } } } unsafe impl SubClass < crate :: generated :: audio_effect :: AudioEffect > for AudioEffectFilter { } unsafe impl SubClass < crate :: generated :: resource :: Resource > for AudioEffectFilter { } unsafe impl SubClass < crate :: generated :: reference :: Reference > for AudioEffectFilter { } unsafe impl SubClass < crate :: generated :: object :: Object > for AudioEffectFilter { } impl Instanciable for AudioEffectFilter { # [inline] fn construct () -> Ref < Self , thread_access :: Unique > { AudioEffectFilter :: new () } } # [doc (hidden)] # [allow (non_camel_case_types , dead_code)] pub (crate) struct AudioEffectFilterMethodTable { pub class_constructor : sys :: godot_class_constructor , pub get_cutoff : * mut sys :: godot_method_bind , pub get_db : * mut sys :: godot_method_bind , pub get_gain : * mut sys :: godot_method_bind , pub get_resonance : * mut sys :: godot_method_bind , pub set_cutoff : * mut sys :: godot_method_bind , pub set_db : * mut sys :: godot_method_bind , pub set_gain : * mut sys :: godot_method_bind , pub set_resonance : * mut sys :: godot_method_bind } impl AudioEffectFilterMethodTable { unsafe fn get_mut () -> & 'static mut Self { static mut TABLE : AudioEffectFilterMethodTable = AudioEffectFilterMethodTable { class_constructor : None , get_cutoff : 0 as * mut sys :: godot_method_bind , get_db : 0 as * mut sys :: godot_method_bind , get_gain : 0 as * mut sys :: godot_method_bind , get_resonance : 0 as * mut sys :: godot_method_bind , set_cutoff : 0 as * mut sys :: godot_method_bind , set_db : 0 as * mut sys :: godot_method_bind , set_gain : 0 as * mut sys :: godot_method_bind , set_resonance : 0 as * mut sys :: godot_method_bind } ; &raw mut TABLE } # [inline] # [allow (dead_code)] pub fn get (gd_api : & GodotApi) -> & 'static Self { unsafe { let table = Self :: get_mut () ; static INIT : :: std :: sync :: Once = Once :: new () ; INIT . call_once (|| { AudioEffectFilterMethodTable :: init (table , gd_api) ; }) ; table } } # [inline (never)] # [allow (dead_code)] fn init (table : & mut Self , gd_api : & GodotApi) { unsafe { let class_name = "AudioEffectFilter\0" . as_ptr () as * const c_char ; table . class_constructor = (gd_api . godot_get_class_constructor) (class_name) ; table . get_cutoff = (gd_api . godot_method_bind_get_method) (class_name , "get_cutoff\0" . as_ptr () as * const c_char) ; table . get_db = (gd_api . godot_method_bind_get_method) (class_name , "get_db\0" . as_ptr () as * const c_char) ; table . get_gain = (gd_api . godot_method_bind_get_method) (class_name , "get_gain\0" . as_ptr () as * const c_char) ; table . get_resonance = (gd_api . godot_method_bind_get_method) (class_name , "get_resonance\0" . as_ptr () as * const c_char) ; table . set_cutoff = (gd_api . godot_method_bind_get_method) (class_name , "set_cutoff\0" . as_ptr () as * const c_char) ; table . set_db = (gd_api . godot_method_bind_get_method) (class_name , "set_db\0" . as_ptr () as * const c_char) ; table . set_gain = (gd_api . godot_method_bind_get_method) (class_name , "set_gain\0" . as_ptr () as * const c_char) ; table . set_resonance = (gd_api . godot_method_bind_get_method) (class_name , "set_resonance\0" . as_ptr () as * const c_char) ; } } }
[WARN] too much data in the log, truncating it
