Skip to content

Commit 9fe2f21

Browse files
committed
Update tests
1 parent 9c7a0d5 commit 9fe2f21

21 files changed

Lines changed: 167 additions & 85 deletions

‎cpp2rust/converter/converter.cpp‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4223,11 +4223,12 @@ std::string Converter::GetUnsafeTypeAsString(clang::QualType qual_type) const {
42234223
std::string
42244224
Converter::GetOverloadParamTypeAsString(clang::QualType type) const {
42254225
auto str = GetUnsafeTypeAsString(type);
4226-
if (type->isVoidPointerType() && type->getPointeeType().isConstQualified()) {
4226+
if ((type->isPointerType() || type->isReferenceType()) &&
4227+
type->getPointeeType().isConstQualified()) {
42274228
str += "_const";
42284229
}
42294230
if (type->isRValueReferenceType()) {
4230-
name += "_rv";
4231+
str += "_rv";
42314232
}
42324233
return str;
42334234
}

‎cpp2rust/converter/converter.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,7 @@ class Converter : public clang::RecursiveASTVisitor<Converter> {
588588
GetStructAttributes(const clang::RecordDecl *decl);
589589

590590
virtual std::string GetUnsafeTypeAsString(clang::QualType qual_type) const;
591+
591592
virtual std::string GetOverloadParamTypeAsString(clang::QualType type) const;
592593

593594
virtual bool NeedsMut(const clang::VarDecl *decl, clang::QualType type,

‎cpp2rust/converter/models/converter_refcount.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ ConverterRefCount::GetOverloadParamTypeAsString(clang::QualType type) const {
141141
str += "_const";
142142
}
143143
if (type->isRValueReferenceType()) {
144-
name += "_rv";
144+
str += "_rv";
145145
}
146146
return str;
147147
}

‎cpp2rust/converter/models/converter_refcount.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,8 +329,8 @@ class ConverterRefCount final : public Converter {
329329
std::string ConvertSubscriptIndex(clang::Expr *idx);
330330

331331
std::string GetSafeTypeAsString(clang::QualType qual_type) const;
332-
std::string
333-
GetOverloadParamTypeAsString(clang::QualType type) const override;
332+
333+
std::string GetOverloadParamTypeAsString(clang::QualType type) const override;
334334

335335
bool NeedsMut(const clang::VarDecl *decl, clang::QualType type,
336336
llvm::StringRef /*name*/) const override;

‎tests/unit/out/refcount/copy_assign.rs‎

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,9 +254,12 @@ fn main_0() -> i32 {
254254
let n1: Value<NonConstAssign> = Rc::new(RefCell::new(NonConstAssign::new()));
255255
let n2: Value<NonConstAssign> = Rc::new(RefCell::new(NonConstAssign::new()));
256256
let cn: Value<NonConstAssign> = Rc::new(RefCell::new(NonConstAssign::new()));
257-
({ NonConstAssignImpl::operator_assign_pmutNonConstAssign(&n1.as_pointer(), n.as_pointer()) });
257+
({ NonConstAssignImpl::operator_assign_PtrNonConstAssign(&n1.as_pointer(), n.as_pointer()) });
258258
({
259-
NonConstAssignImpl::operator_assign_pconstNonConstAssign(&n2.as_pointer(), cn.as_pointer())
259+
NonConstAssignImpl::operator_assign_PtrNonConstAssign_const(
260+
&n2.as_pointer(),
261+
cn.as_pointer(),
262+
)
260263
});
261264
assert!(((*(*n1.borrow()).mark.borrow()) == 1));
262265
assert!(((*(*n2.borrow()).mark.borrow()) == 10));
@@ -267,16 +270,22 @@ fn main_0() -> i32 {
267270
return 0;
268271
}
269272
pub trait NonConstAssignImpl {
270-
fn operator_assign_pmutNonConstAssign(&self, o: Ptr<NonConstAssign>) -> Ptr<NonConstAssign>;
271-
fn operator_assign_pconstNonConstAssign(&self, o: Ptr<NonConstAssign>) -> Ptr<NonConstAssign>;
273+
fn operator_assign_PtrNonConstAssign(&self, o: Ptr<NonConstAssign>) -> Ptr<NonConstAssign>;
274+
fn operator_assign_PtrNonConstAssign_const(
275+
&self,
276+
o: Ptr<NonConstAssign>,
277+
) -> Ptr<NonConstAssign>;
272278
}
273279
impl NonConstAssignImpl for Ptr<NonConstAssign> {
274-
fn operator_assign_pmutNonConstAssign(&self, o: Ptr<NonConstAssign>) -> Ptr<NonConstAssign> {
280+
fn operator_assign_PtrNonConstAssign(&self, o: Ptr<NonConstAssign>) -> Ptr<NonConstAssign> {
275281
let __rhs = ((*(*o.upgrade().deref()).mark.borrow()) + 1);
276282
(*(*(*self).upgrade().deref()).mark.borrow_mut()) = __rhs;
277283
return (*self).clone();
278284
}
279-
fn operator_assign_pconstNonConstAssign(&self, o: Ptr<NonConstAssign>) -> Ptr<NonConstAssign> {
285+
fn operator_assign_PtrNonConstAssign_const(
286+
&self,
287+
o: Ptr<NonConstAssign>,
288+
) -> Ptr<NonConstAssign> {
280289
let __rhs = ((*(*o.upgrade().deref()).mark.borrow()) + 10);
281290
(*(*(*self).upgrade().deref()).mark.borrow_mut()) = __rhs;
282291
return (*self).clone();

‎tests/unit/out/refcount/copy_ctor.rs‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ impl NonConst {
6262
let this: Ptr<NonConst> = __this.as_pointer();
6363
Rc::try_unwrap(__this).ok().unwrap().into_inner()
6464
}
65-
pub fn NonConst_pmutNonConst(o: Ptr<NonConst>) -> Self {
65+
pub fn NonConst_PtrNonConst(o: Ptr<NonConst>) -> Self {
6666
let __this: Value<NonConst> = Rc::new(RefCell::new(Self {
6767
mark: Rc::new(RefCell::new(((*(*o.upgrade().deref()).mark.borrow()) + 1))),
6868
}));
6969
let this: Ptr<NonConst> = __this.as_pointer();
7070
Rc::try_unwrap(__this).ok().unwrap().into_inner()
7171
}
72-
pub fn NonConst_pconstNonConst(o: Ptr<NonConst>) -> Self {
72+
pub fn NonConst_PtrNonConst_const(o: Ptr<NonConst>) -> Self {
7373
let __this: Value<NonConst> = Rc::new(RefCell::new(Self {
7474
mark: Rc::new(RefCell::new(((*(*o.upgrade().deref()).mark.borrow()) + 10))),
7575
}));
@@ -82,7 +82,7 @@ impl Clone for NonConst {
8282
let __src: Value<NonConst> = Rc::new(RefCell::new(NonConst {
8383
mark: self.mark.clone(),
8484
}));
85-
NonConst::NonConst_pmutNonConst(__src.as_pointer())
85+
NonConst::NonConst_PtrNonConst(__src.as_pointer())
8686
}
8787
}
8888
impl Default for NonConst {
@@ -259,11 +259,11 @@ fn main_0() -> i32 {
259259
assert!(((*(*i1.borrow()).v.borrow()) == 1) && ((*(*i2.borrow()).v.borrow()) == -1_i32));
260260
assert!((copies_0.with(|rc| *rc.borrow()) == 11));
261261
let n: Value<NonConst> = Rc::new(RefCell::new(NonConst::new()));
262-
let n1: Value<NonConst> = Rc::new(RefCell::new(NonConst::NonConst_pmutNonConst({
262+
let n1: Value<NonConst> = Rc::new(RefCell::new(NonConst::NonConst_PtrNonConst({
263263
n.as_pointer()
264264
})));
265265
let cn: Value<NonConst> = Rc::new(RefCell::new(NonConst::new()));
266-
let n2: Value<NonConst> = Rc::new(RefCell::new(NonConst::NonConst_pconstNonConst({
266+
let n2: Value<NonConst> = Rc::new(RefCell::new(NonConst::NonConst_PtrNonConst_const({
267267
cn.as_pointer()
268268
})));
269269
assert!(((*(*n1.borrow()).mark.borrow()) == 1));

‎tests/unit/out/refcount/move_assign.rs‎

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,10 @@ fn main_0() -> i32 {
141141
let m2: Value<ConstMoveAssign> = Rc::new(RefCell::new(ConstMoveAssign::new()));
142142
let cm: Value<ConstMoveAssign> = Rc::new(RefCell::new(ConstMoveAssign::new()));
143143
({
144-
ConstMoveAssignImpl::operator_assign_pmutConstMoveAssign_rv(
145-
&m1.as_pointer(),
146-
m.as_pointer(),
147-
)
144+
ConstMoveAssignImpl::operator_assign_PtrConstMoveAssign_rv(&m1.as_pointer(), m.as_pointer())
148145
});
149146
({
150-
ConstMoveAssignImpl::operator_assign_pconstConstMoveAssign_rv(
147+
ConstMoveAssignImpl::operator_assign_PtrConstMoveAssign_const_rv(
151148
&m2.as_pointer(),
152149
cm.as_pointer(),
153150
)
@@ -157,25 +154,25 @@ fn main_0() -> i32 {
157154
return 0;
158155
}
159156
pub trait ConstMoveAssignImpl {
160-
fn operator_assign_pmutConstMoveAssign_rv(
157+
fn operator_assign_PtrConstMoveAssign_rv(
161158
&self,
162159
o: Ptr<ConstMoveAssign>,
163160
) -> Ptr<ConstMoveAssign>;
164-
fn operator_assign_pconstConstMoveAssign_rv(
161+
fn operator_assign_PtrConstMoveAssign_const_rv(
165162
&self,
166163
o: Ptr<ConstMoveAssign>,
167164
) -> Ptr<ConstMoveAssign>;
168165
}
169166
impl ConstMoveAssignImpl for Ptr<ConstMoveAssign> {
170-
fn operator_assign_pmutConstMoveAssign_rv(
167+
fn operator_assign_PtrConstMoveAssign_rv(
171168
&self,
172169
o: Ptr<ConstMoveAssign>,
173170
) -> Ptr<ConstMoveAssign> {
174171
let __rhs = ((*(*o.upgrade().deref()).mark.borrow()) + 1);
175172
(*(*(*self).upgrade().deref()).mark.borrow_mut()) = __rhs;
176173
return (*self).clone();
177174
}
178-
fn operator_assign_pconstConstMoveAssign_rv(
175+
fn operator_assign_PtrConstMoveAssign_const_rv(
179176
&self,
180177
o: Ptr<ConstMoveAssign>,
181178
) -> Ptr<ConstMoveAssign> {

‎tests/unit/out/refcount/move_ctor.rs‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ impl ConstMove {
5353
let this: Ptr<ConstMove> = __this.as_pointer();
5454
Rc::try_unwrap(__this).ok().unwrap().into_inner()
5555
}
56-
pub fn ConstMove_pmutConstMove_rv(o: Ptr<ConstMove>) -> Self {
56+
pub fn ConstMove_PtrConstMove_rv(o: Ptr<ConstMove>) -> Self {
5757
let __this: Value<ConstMove> = Rc::new(RefCell::new(Self {
5858
mark: Rc::new(RefCell::new(((*(*o.upgrade().deref()).mark.borrow()) + 1))),
5959
}));
6060
let this: Ptr<ConstMove> = __this.as_pointer();
6161
Rc::try_unwrap(__this).ok().unwrap().into_inner()
6262
}
63-
pub fn ConstMove_pconstConstMove_rv(o: Ptr<ConstMove>) -> Self {
63+
pub fn ConstMove_PtrConstMove_const_rv(o: Ptr<ConstMove>) -> Self {
6464
let __this: Value<ConstMove> = Rc::new(RefCell::new(Self {
6565
mark: Rc::new(RefCell::new(((*(*o.upgrade().deref()).mark.borrow()) + 10))),
6666
}));
@@ -269,11 +269,11 @@ fn main_0() -> i32 {
269269
);
270270
assert!(((*(*f.borrow()).v.borrow()) == 0));
271271
let m: Value<ConstMove> = Rc::new(RefCell::new(ConstMove::new()));
272-
let m1: Value<ConstMove> = Rc::new(RefCell::new(ConstMove::ConstMove_pmutConstMove_rv({
272+
let m1: Value<ConstMove> = Rc::new(RefCell::new(ConstMove::ConstMove_PtrConstMove_rv({
273273
m.as_pointer()
274274
})));
275275
let cm: Value<ConstMove> = Rc::new(RefCell::new(ConstMove::new()));
276-
let m2: Value<ConstMove> = Rc::new(RefCell::new(ConstMove::ConstMove_pconstConstMove_rv({
276+
let m2: Value<ConstMove> = Rc::new(RefCell::new(ConstMove::ConstMove_PtrConstMove_const_rv({
277277
cm.as_pointer()
278278
})));
279279
assert!(((*(*m1.borrow()).mark.borrow()) == 1));

‎tests/unit/out/refcount/operator_arithmetic_member.rs‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ fn main_0() -> i32 {
4444
v: Rc::new(RefCell::new(2)),
4545
}));
4646
assert!(
47-
((*({ SImpl::operator_add_pconstS_const(&a.as_pointer(), b.as_pointer(),) })
47+
((*({ SImpl::operator_add_PtrS_const_const(&a.as_pointer(), b.as_pointer(),) })
4848
.v
4949
.borrow())
5050
== 9)
5151
);
5252
assert!(
53-
((*({ SImpl::operator_sub_pconstS_const(&a.as_pointer(), b.as_pointer(),) })
53+
((*({ SImpl::operator_sub_PtrS_const_const(&a.as_pointer(), b.as_pointer(),) })
5454
.v
5555
.borrow())
5656
== 5)
@@ -118,7 +118,7 @@ fn main_0() -> i32 {
118118
let _o: Value<S> = Rc::new(RefCell::new(S {
119119
v: Rc::new(RefCell::new(4)),
120120
}));
121-
SImpl::operator_add_pconstS_const(
121+
SImpl::operator_add_PtrS_const_const(
122122
&Rc::new(RefCell::new(S {
123123
v: Rc::new(RefCell::new(3)),
124124
}))
@@ -133,8 +133,8 @@ fn main_0() -> i32 {
133133
return 0;
134134
}
135135
pub trait SImpl {
136-
fn operator_add_pconstS_const(&self, o: Ptr<S>) -> S;
137-
fn operator_sub_pconstS_const(&self, o: Ptr<S>) -> S;
136+
fn operator_add_PtrS_const_const(&self, o: Ptr<S>) -> S;
137+
fn operator_sub_PtrS_const_const(&self, o: Ptr<S>) -> S;
138138
fn operator_mul(&self, o: Ptr<S>) -> S;
139139
fn operator_div(&self, o: Ptr<S>) -> S;
140140
fn operator_rem(&self, o: Ptr<S>) -> S;
@@ -146,15 +146,15 @@ pub trait SImpl {
146146
fn operator_post_dec_i32(&self, _a0: i32) -> S;
147147
}
148148
impl SImpl for Ptr<S> {
149-
fn operator_add_pconstS_const(&self, o: Ptr<S>) -> S {
149+
fn operator_add_PtrS_const_const(&self, o: Ptr<S>) -> S {
150150
return S {
151151
v: Rc::new(RefCell::new({
152152
let _lhs = (*(*(*self).upgrade().deref()).v.borrow());
153153
_lhs + (*(*o.upgrade().deref()).v.borrow())
154154
})),
155155
};
156156
}
157-
fn operator_sub_pconstS_const(&self, o: Ptr<S>) -> S {
157+
fn operator_sub_PtrS_const_const(&self, o: Ptr<S>) -> S {
158158
return S {
159159
v: Rc::new(RefCell::new({
160160
let _lhs = (*(*(*self).upgrade().deref()).v.borrow());

‎tests/unit/out/refcount/operator_comparison_member.rs‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ pub struct S {
1313
impl std::cmp::Ord for S {
1414
fn cmp(&self, other: &Self) -> std::cmp::Ordering {
1515
{
16-
if SImpl::operator_lt_pconstS_const(
16+
if SImpl::operator_lt_PtrS_const_const(
1717
&Rc::new(RefCell::new(S { v: self.v.clone() })).as_pointer(),
1818
Rc::new(RefCell::new(S { v: other.v.clone() })).as_pointer(),
1919
) {
2020
std::cmp::Ordering::Less
21-
} else if SImpl::operator_lt_pconstS_const(
21+
} else if SImpl::operator_lt_PtrS_const_const(
2222
&Rc::new(RefCell::new(S { v: other.v.clone() })).as_pointer(),
2323
Rc::new(RefCell::new(S { v: self.v.clone() })).as_pointer(),
2424
) {
@@ -83,18 +83,18 @@ fn main_0() -> i32 {
8383
}));
8484
assert!(({ SImpl::operator_eq(&a.as_pointer(), c.as_pointer(),) }));
8585
assert!(({ SImpl::operator_ne(&a.as_pointer(), b.as_pointer(),) }));
86-
assert!(({ SImpl::operator_lt_pconstS_const(&a.as_pointer(), b.as_pointer(),) }));
86+
assert!(({ SImpl::operator_lt_PtrS_const_const(&a.as_pointer(), b.as_pointer(),) }));
8787
assert!(({ SImpl::operator_gt(&b.as_pointer(), a.as_pointer(),) }));
8888
assert!(({ SImpl::operator_le(&a.as_pointer(), c.as_pointer(),) }));
8989
assert!(({ SImpl::operator_ge(&a.as_pointer(), c.as_pointer(),) }));
90-
assert!(!({ SImpl::operator_lt_pconstS_const(&b.as_pointer(), a.as_pointer(),) }));
90+
assert!(!({ SImpl::operator_lt_PtrS_const_const(&b.as_pointer(), a.as_pointer(),) }));
9191
assert!(({ SImpl::operator_lt_i32_const(&a.as_pointer(), 5,) }));
9292
return 0;
9393
}
9494
pub trait SImpl {
9595
fn operator_eq(&self, o: Ptr<S>) -> bool;
9696
fn operator_ne(&self, o: Ptr<S>) -> bool;
97-
fn operator_lt_pconstS_const(&self, o: Ptr<S>) -> bool;
97+
fn operator_lt_PtrS_const_const(&self, o: Ptr<S>) -> bool;
9898
fn operator_gt(&self, o: Ptr<S>) -> bool;
9999
fn operator_le(&self, o: Ptr<S>) -> bool;
100100
fn operator_ge(&self, o: Ptr<S>) -> bool;
@@ -113,7 +113,7 @@ impl SImpl for Ptr<S> {
113113
_lhs != (*(*o.upgrade().deref()).v.borrow())
114114
};
115115
}
116-
fn operator_lt_pconstS_const(&self, o: Ptr<S>) -> bool {
116+
fn operator_lt_PtrS_const_const(&self, o: Ptr<S>) -> bool {
117117
return {
118118
let _lhs = (*(*(*self).upgrade().deref()).v.borrow());
119119
_lhs < (*(*o.upgrade().deref()).v.borrow())

0 commit comments

Comments
 (0)