[ 
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)

Reply via email to