Skip to content

Commit d2e830a

Browse files
committed
Test for a failing double-template with default
1 parent b61f435 commit d2e830a

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

integration-tests/tests/integration_test.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12403,6 +12403,37 @@ fn test_override_typedef_fn() {
1240312403
run_test("", hdr, quote! {}, &["Foo"], &[]);
1240412404
}
1240512405

12406+
#[test]
12407+
fn test_double_template_w_default() {
12408+
let hdr = indoc! {"
12409+
class Widget {};
12410+
12411+
template <class T>
12412+
class RefPtr {
12413+
private:
12414+
T* m_ptr;
12415+
};
12416+
12417+
class Container {
12418+
void* data_;
12419+
};
12420+
12421+
class FakeAlloc {};
12422+
12423+
template <typename T, typename A=FakeAlloc>
12424+
class Holder {
12425+
A alloc;
12426+
};
12427+
12428+
typedef Holder<RefPtr<Widget>> WidgetRefHolder;
12429+
class Problem {
12430+
public:
12431+
WidgetRefHolder& getWidgets();
12432+
};
12433+
"};
12434+
run_test("", hdr, quote! {}, &["Problem"], &[]);
12435+
}
12436+
1240612437
// Yet to test:
1240712438
// - Ifdef
1240812439
// - Out param pointers

0 commit comments

Comments
 (0)