[
https://issues.apache.org/jira/browse/THRIFT-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer updated THRIFT-6059:
-------------------------------
Component/s: Rust - Compiler
(was: Ruby - Compiler)
> add crate_prefix option for cross-file import path
> --------------------------------------------------
>
> Key: THRIFT-6059
> URL: https://issues.apache.org/jira/browse/THRIFT-6059
> Project: Thrift
> Issue Type: Bug
> Components: Rust - Compiler
> Reporter: Santiago Medina
> Assignee: Santiago Medina
> Priority: Major
> Fix For: 0.24.0
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> The Rust code generator hardcodes use crate:: when one .thrift file includes
> another (e.g., event.thrift includes trees.thrift → generates use
> crate::trees;). This assumes the generated files are placed directly under
> the crate root (src/). When generated files are placed in a submodule (e.g.,
> src/thrift/), the correct import is use super::trees;, and users must
> manually post-process the generated files with sed to fix the paths.
> This patch adds a crate_prefix generator option that controls the path
> prefix. The default remains crate for backward compatibility. Users
> generating into a submodule can pass --gen rs:crate_prefix=super to produce
> correct imports without post-processing.
> Usage:
> # Files at crate root (src/) — existing behavior, unchanged
> thrift --gen rs -out src/ schema.thrift
> # Files in a submodule (src/thrift/) — new option
> thrift --gen rs:crate_prefix=super -out src/thrift/ schema.thrift
--
This message was sent by Atlassian Jira
(v8.20.10#820010)