[ https://issues.apache.org/jira/browse/THRIFT-5071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17043032#comment-17043032 ]
Jonathan commented on THRIFT-5071: ---------------------------------- This seems to be an issue with any project that uses multiple Thrift definition files via 'include' declarations, generated with recursive. It makes the generated bindings unusable. Adding `crate::` to the use path is a simple fix (and the easiest way to patch the bindings to work), but it also means the bindings have to be placed at the root of the lib they're placed in. Another solution might be to provide a more cohesive module output with local paths, so they can be included anywhere in a consuming lib. > Rust: rust tutorial can not be compiled with rust edition 2018 > -------------------------------------------------------------- > > Key: THRIFT-5071 > URL: https://issues.apache.org/jira/browse/THRIFT-5071 > Project: Thrift > Issue Type: Bug > Components: Rust - Compiler, Tutorial > Affects Versions: 0.13.0 > Environment: cargo 1.40.0 (bc8e4c8be 2019-11-22) > rustc 1.40.0 (73528e339 2019-12-16) > Reporter: fan liwen > Assignee: Allen George > Priority: Major > > The rust compiler is broken for rust edition 2018. If we change the tutorial > cargo (tutorial/rs/Cargo.toml) to edition = "2018", the following error would > occur: > {code:java} > // code placeholder > error[E0432]: unresolved import `shared` > --> src/tutorial.rs:30:5 > | > 30 | use shared; > | ^^^^^^ no `shared` external crateerror: aborting due to previous > error > {code} > The compiler might need to generate *use crate::shared* instead. -- This message was sent by Atlassian Jira (v8.3.4#803005)