You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
error[E0308]: mismatched types
--> src/root/passes/frontend/lang.rs:420:5
|
418 | pub fn parse_utf8_stream(input: &mut dyn Read) -> Result<ParseResult<'static, 'static, 'static>, std::io::Error> {
| -------------------------------------------------------------- expected `Result<ParseResult<'static, 'static, 'static>, std::io::Error>` because of return type
419 | let text = Text::from_utf8_stream(input).unwrap();
420 | parse_text(text, &mut NoActions {})
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<ParseResult<'_, '_, '_>, ...>`, found `ParseResult<'_, '_, '_>`
|
= note: expected enum `Result<ParseResult<'_, 'static, '_>, std::io::Error>`
found struct `ParseResult<'_, '_, '_>`
help: try wrapping the expression in `Ok`
|
420 | Ok(parse_text(text, &mut NoActions {}))
| +++ +
3
error: lifetime may not live long enough
--> src/root/passes/frontend/lang.rs:430:5
|
429 | fn parse_text(text: Text, actions: &mut dyn Actions) -> ParseResult<'static, '_, 'static> {
| ---- has type `Text<'1>`
430 | parse_text_with(text, TERMINALS, VARIABLES, VIRTUALS, actions)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'static`
These are quite easy to fix by simply wrapping error 2 in Ok(), and setting the faulty lifetimes to 'static. (Given my relative inexperience with complicated Rust development, these are most certianly the wrong approach.)
However, it's quite a pain to do this each time, as regenerating the files destroys previous changes, and it also creates a barrier of entry, for someone who is not as experienced with Rust.
Would it be possible to fix this in the generator?
Thank you.
The text was updated successfully, but these errors were encountered:
I have run into an issue regarding the Rust target.
himecc
v4.3.0 generates invalid Rust code when attempting to use semantic actions.In particular,
rustc
emits the following errors:1:
2:
3
These are quite easy to fix by simply wrapping error 2 in
Ok()
, and setting the faulty lifetimes to'static
. (Given my relative inexperience with complicated Rust development, these are most certianly the wrong approach.)However, it's quite a pain to do this each time, as regenerating the files destroys previous changes, and it also creates a barrier of entry, for someone who is not as experienced with Rust.
Would it be possible to fix this in the generator?
Thank you.
The text was updated successfully, but these errors were encountered: