DeMille / encrusted

A z-machine (interpreter) for text adventure games like Zork
https://sterlingdemille.com/encrusted
MIT License
127 stars 20 forks source link

Cannot build locally #25

Open djducat opened 2 years ago

djducat commented 2 years ago

Trying to build the project locally, and am running into some sort of conflict with wasm-glue. Has anyone run into this before?

Compiling wasm-glue v0.1.0
   Compiling syn v0.15.26
error[E0425]: cannot find function `set_print` in module `io`
    --> /Users/dan/.cargo/registry/src/github.com-1ecc6299db9ec823/wasm-glue-0.1.0/src/lib.rs:125:9
     |
125  |     io::set_print(Some(Box::new(printer)));
     |         ^^^^^^^^^ help: a function with a similar name exists: `_eprint`

error[E0425]: cannot find function `set_print` in module `io`
    --> /Users/dan/.cargo/registry/src/github.com-1ecc6299db9ec823/wasm-glue-0.1.0/src/lib.rs:131:9
     |
131  |     io::set_print(Some(Box::new(printer)));
     |         ^^^^^^^^^ help: a function with a similar name exists: `_eprint`
PriamX commented 1 year ago

Yeah, just ran into it.

The issue appears to be that both io::set_print() and io::set_panic() have been deprecated and removed from rust since v1.50.

See this:

https://github.com/rust-lang/rust/issues/31343

It looks like wasm_glue's lib.rs file (https://github.com/DeMille/wasm-glue/blob/master/src/lib.rs) is going to need a bit of an update to fix this so encrusted can compile cleanly.

So far, poking around, I don't know what the replacement for these functions are. I'm going to keep looking, must be documented in a release note somewhere (or mentioned on github).

(edit: fixed URL)