Skip to content

Commit 775fbc2

Browse files
committed
fix test
1 parent 0b8c95b commit 775fbc2

3 files changed

Lines changed: 4 additions & 50 deletions

File tree

‎tests/unit/container_element_receiver.cpp‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
struct Holder {
88
std::vector<int> &ref;
99
std::vector<int> vec;
10-
std::string str;
1110
};
1211

1312
std::vector<int> &pick(std::vector<int> &a, std::vector<int> &b, bool first) {
@@ -24,7 +23,7 @@ int sum(const std::vector<int> &v) {
2423

2524
int main() {
2625
std::vector<int> v = {1, 2, 3};
27-
Holder h{v, {4, 5}, "abc"};
26+
Holder h{v, {4, 5}};
2827

2928
// Through a reference field, a field, and a pointer.
3029
assert(*h.ref.data() == 1);
@@ -34,7 +33,6 @@ int main() {
3433
assert(h.vec.back() == 5);
3534
std::vector<int> *p = &h.vec;
3635
assert(*p->data() == 4);
37-
assert(strlen(h.str.c_str()) == 3);
3836

3937
// Through a call that returns a reference, and a map element.
4038
pick(v, h.vec, false).front() = 7;

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

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,15 @@ use std::io::prelude::*;
66
use std::io::{Read, Seek, Write};
77
use std::os::fd::AsFd;
88
use std::rc::{Rc, Weak};
9-
#[derive(Clone, Record, ByteRepr, VaArg, FnPtrArg)]
10-
#[byte_size(64)]
9+
#[derive(Clone, Record, ByteRepr, VaArg, FnPtrArg, Default)]
10+
#[byte_size(32)]
1111
pub struct Holder {
1212
#[offset(0)]
1313
#[byte_size(8)]
1414
pub ref_: Ptr<Vec<i32>>,
1515
#[offset(8)]
1616
#[byte_size(24)]
1717
pub vec_: Vec<i32>,
18-
#[offset(32)]
19-
#[byte_size(32)]
20-
pub str: Vec<i8>,
21-
}
22-
impl Default for Holder {
23-
fn default() -> Self {
24-
{
25-
Holder {
26-
ref_: <Ptr<Vec<i32>>>::default(),
27-
vec_: Default::default(),
28-
str: vec![0],
29-
}
30-
}
31-
}
3218
}
3319
pub fn pick_0(a: Ptr<Vec<i32>>, b: Ptr<Vec<i32>>, mut first: bool) -> Ptr<Vec<i32>> {
3420
return if first { (a).clone() } else { (b).clone() };
@@ -61,11 +47,6 @@ fn main_0() -> i32 {
6147
let h: Value<Holder> = Rc::new(RefCell::new(Holder {
6248
ref_: v.as_pointer(),
6349
vec_: Vec::from([4, 5]),
64-
str: {
65-
let mut __bytes = Ptr::<i8>::from_string_literal(b"abc").to_c_bytes();
66-
__bytes.push(0);
67-
__bytes
68-
},
6950
}));
7051
assert!((({ (*h.borrow()).ref_.clone() }.decay().read()) == 1));
7152
{ (*h.borrow()).ref_.clone() }.decay().write(9);
@@ -74,13 +55,6 @@ fn main_0() -> i32 {
7455
assert!(((field_ref!(h.as_pointer(), vec_).decay().to_last().read()) == 5));
7556
let mut p: Ptr<Vec<i32>> = (field_ref!(h.as_pointer(), vec_).as_pointer());
7657
assert!(((p.decay().read()) == 4));
77-
assert!(
78-
(field_ref!(h.as_pointer(), str)
79-
.decay()
80-
.to_c_string_iterator()
81-
.count()
82-
== 3_usize)
83-
);
8458
({
8559
pick_0(
8660
v.as_pointer(),

‎tests/unit/out/unsafe/container_element_receiver.rs‎

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,10 @@ use std::io::{Read, Seek, Write};
77
use std::os::fd::{AsFd, FromRawFd, IntoRawFd};
88
use std::rc::Rc;
99
#[repr(C)]
10-
#[derive(Clone, VaArg, FnPtrArg)]
10+
#[derive(Clone, VaArg, FnPtrArg, Default)]
1111
pub struct Holder {
1212
pub ref_: *mut Vec<i32>,
1313
pub vec_: Vec<i32>,
14-
pub str: Vec<libc::c_char>,
15-
}
16-
impl Default for Holder {
17-
fn default() -> Self {
18-
unsafe {
19-
Holder {
20-
ref_: <*mut Vec<i32>>::default(),
21-
vec_: Default::default(),
22-
str: vec![0],
23-
}
24-
}
25-
}
2614
}
2715
pub unsafe fn pick_0(a: *mut Vec<i32>, b: *mut Vec<i32>, mut first: bool) -> *mut Vec<i32> {
2816
return if first { (a) } else { (b) };
@@ -55,11 +43,6 @@ unsafe fn main_0() -> i32 {
5543
let mut h: Holder = Holder {
5644
ref_: &mut v,
5745
vec_: Vec::from([4, 5]),
58-
str: {
59-
let s = c"abc".as_ptr();
60-
std::slice::from_raw_parts(s, (0..).take_while(|&i| *s.add(i) != 0).count() + 1)
61-
.to_vec()
62-
},
6346
};
6447
assert!(((*(*h.ref_).as_mut_ptr()) == (1)));
6548
(*((*h.ref_).first_mut().unwrap())) = 9;
@@ -68,7 +51,6 @@ unsafe fn main_0() -> i32 {
6851
assert!(((*((h.vec_).last_mut().unwrap())) == (5)));
6952
let mut p: *mut Vec<i32> = (&mut h.vec_ as *mut Vec<i32>);
7053
assert!(((*(*p).as_mut_ptr()) == (4)));
71-
assert!(((libc::strlen(h.str.as_ptr())) == (3_usize)));
7254
(*((*(unsafe { pick_0(&mut v, &mut h.vec_, false) }))
7355
.first_mut()
7456
.unwrap())) = 7;

0 commit comments

Comments
 (0)