Skip to content

Conversation

Matthew-Burkard
Copy link

I was working with godot = "0.2.3".
When copying from the book I was getting an error:

no method named `signals` found for mutable reference `&mut Monster` in the current scope method not found in `&mut Monster`

On any line attempting to call self.signals(). e.g. let sig = self.signals().damage_taken();

Fixed error bu switching from godot = "0.2.3" to godot = { branch = "master", git = "https://github.com/godot-rust/gdext" }

@Bromeon
Copy link
Member

Bromeon commented Sep 3, 2025

It's funny, I just removed this information here. So it was useful after all 😀

Also, your change is not quite accurate -- you don't need master for this, v0.3.0 released in May supports typed signals.

So far, the book is aimed at the latest godot-rust version, sometimes even upcoming features. It can make sense to denote versions for new features or major ones that have been recently introduced (such as type-safe signals), but generally we need to find a balance to not micromanage entries. Any opinions on this?

@Matthew-Burkard
Copy link
Author

I should have checked for a newer version in crates.io first, was thinking I was on latest release for some reason.
Maybe a note saying 0.3.0+ but really for docs to describe latest release makes sense. I'm willing to chalk this up to me not realizing I was working with older release.

@Yarwin
Copy link
Contributor

Yarwin commented Sep 4, 2025

So far, the book is aimed at the latest godot-rust version, sometimes even upcoming features. It can make sense to denote versions for new features or major ones that have been recently introduced (such as type-safe signals), but generally we need to find a balance to not micromanage entries. Any opinions on this?

Hmm, book links to TypedSignal (https://godot-rust.github.io/docs/gdext/master/godot/register/struct.TypedSignal.html) which is available on current master but there is no convenient/fast way to check since when it has been available 🤔.

My idea – expand https://godot-rust.github.io/book/index.html#currently-supported-features and instead of linking to github issue, note that we encourage to use the latest version since all of them are backward-compatible, make an appendix in the book with currently supported features (table with feature - API docs - since when it is available) and link it there.

As for the PR itself, your issue is valid, albeit this section https://godot-rust.github.io/book/register/signals.html#admonition-availability-of-signal-api is about availability of signal on given class, not the feature itself.

@Bromeon
Copy link
Member

Bromeon commented Sep 4, 2025

My idea – expand https://godot-rust.github.io/book/index.html#currently-supported-features and instead of linking to github issue, note that we encourage to use the latest version since all of them are backward-compatible, make an appendix in the book with currently supported features (table with feature - API docs - since when it is available) and link it there.

I think there's some value in having compatibility information on the page itself, as people are unlikely to navigate to this section.

Maybe we can keep it until 1 minor version back or so? Now that v0.4 is in development, we can mention v0.3 is the minimum, but once v0.4 is released, it would effectively be available in two minor versions and thus "recent enough" to no longer need a mention?

Because prior godot-rust versions are no longer maintained by us. But while they're not 100% compatible, we provide migration guides and changes are usually rather minor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants