| commit | 17955e2e8c73f132191db4ea213c5e73ebdb4c9b | [log] [tgz] |
|---|---|---|
| author | David Tolnay <dtolnay@gmail.com> | Mon Jan 20 17:58:24 2020 -0800 |
| committer | David Tolnay <dtolnay@gmail.com> | Mon Jan 20 18:09:41 2020 -0800 |
| tree | 764659eed8bb46514bd70f3ea10719637e4cb881 | |
| parent | 84f232ed0b8e3d871d94dc4fbf71946dcd5d039c [diff] [blame] |
Implement special case types in extern Rust argument position
diff --git a/gen/write.rs b/gen/write.rs index 81f26b8..eb11470 100644 --- a/gen/write.rs +++ b/gen/write.rs
@@ -308,6 +308,11 @@ write!(out, "&"); } write!(out, "{}", arg.ident); + match arg.ty { + Type::RustBox(_) => write!(out, ".into_raw()"), + Type::UniquePtr(_) => write!(out, ".release()"), + _ => {} + } } if indirect_return { if !efn.args.is_empty() {