Skip to content

Commit cf48196

Browse files
committed
cxx-qt-gen: leave use statements in the CXX bridge
Related to #404
1 parent d45d994 commit cf48196

File tree

3 files changed

+2
-44
lines changed

3 files changed

+2
-44
lines changed

crates/cxx-qt-gen/src/generator/rust/mod.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ impl GeneratedRustBlocks {
3737
Ok(GeneratedRustBlocks {
3838
cxx_mod: parser.passthrough_module.clone(),
3939
cxx_mod_contents: vec![generate_include(parser)?],
40-
cxx_qt_mod_contents: parser.cxx_qt_data.uses.clone(),
40+
cxx_qt_mod_contents: vec![],
4141
namespace: parser.cxx_qt_data.namespace.clone(),
4242
qobjects: parser
4343
.cxx_qt_data
@@ -124,29 +124,6 @@ mod tests {
124124
assert_eq!(rust.qobjects.len(), 1);
125125
}
126126

127-
#[test]
128-
fn test_generated_rust_blocks_uses() {
129-
let module: ItemMod = parse_quote! {
130-
#[cxx_qt::bridge(namespace = "cxx_qt")]
131-
mod ffi {
132-
use std::collections::HashMap;
133-
134-
extern "RustQt" {
135-
#[cxx_qt::qobject]
136-
type MyObject = super::MyObjectRust;
137-
}
138-
}
139-
};
140-
let parser = Parser::from(module).unwrap();
141-
142-
let rust = GeneratedRustBlocks::from(&parser).unwrap();
143-
assert_eq!(rust.cxx_mod.content.unwrap().1.len(), 0);
144-
assert_eq!(rust.cxx_mod_contents.len(), 1);
145-
assert_eq!(rust.cxx_qt_mod_contents.len(), 1);
146-
assert_eq!(rust.namespace, "cxx_qt");
147-
assert_eq!(rust.qobjects.len(), 1);
148-
}
149-
150127
#[test]
151128
fn test_generated_rust_blocks_cxx_file_stem() {
152129
let module: ItemMod = parse_quote! {

crates/cxx-qt-gen/src/parser/cxxqtdata.rs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ pub struct ParsedCxxQtData {
6262
pub qobjects: BTreeMap<Ident, ParsedQObject>,
6363
/// The namespace of the CXX-Qt module
6464
pub namespace: String,
65-
/// Any `use` statements end up in the CXX-Qt generated module
66-
pub uses: Vec<Item>,
6765
}
6866

6967
impl ParsedCxxQtData {
@@ -202,11 +200,6 @@ impl ParsedCxxQtData {
202200
pub fn parse_cxx_qt_item(&mut self, item: Item) -> Result<Option<Item>> {
203201
match item {
204202
Item::Impl(imp) => self.parse_impl(imp),
205-
Item::Use(_) => {
206-
// Any use statements go into the CXX-Qt generated block
207-
self.uses.push(item);
208-
Ok(None)
209-
}
210203
Item::ForeignMod(foreign_mod) => self.parse_foreign_mod(foreign_mod),
211204
_ => Ok(Some(item)),
212205
}
@@ -523,18 +516,6 @@ mod tests {
523516
assert_eq!(cxx_qt_data.qobjects[&qobject_ident()].others.len(), 1);
524517
}
525518

526-
#[test]
527-
fn test_find_and_merge_cxx_qt_item_uses() {
528-
let mut cxx_qt_data = create_parsed_cxx_qt_data();
529-
530-
let item: Item = parse_quote! {
531-
use std::collections::HashMap;
532-
};
533-
let result = cxx_qt_data.parse_cxx_qt_item(item).unwrap();
534-
assert!(result.is_none());
535-
assert_eq!(cxx_qt_data.uses.len(), 1);
536-
}
537-
538519
#[test]
539520
fn test_find_and_merge_cxx_qt_item_passthrough() {
540521
let mut cxx_qt_data = create_parsed_cxx_qt_data();

crates/cxx-qt-gen/test_outputs/passthrough_and_naming.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ pub mod ffi {
4141
x: A,
4242
y: B,
4343
}
44+
use super::MyTrait;
4445
unsafe extern "C++" {
4546
include ! (< QtCore / QStringListModel >);
4647
}
@@ -208,7 +209,6 @@ pub mod ffi {
208209
fn cxx_qt_ffi_rust_mut(self: Pin<&mut SecondObject>) -> Pin<&mut SecondObjectRust>;
209210
}
210211
}
211-
use super::MyTrait;
212212
impl ffi::MyObject {
213213
#[doc = "Getter for the Q_PROPERTY "]
214214
#[doc = "property_name"]

0 commit comments

Comments
 (0)