Skip to content

Commit 5d13dae

Browse files
committed
remove all try_as_bytes_like
1 parent ece6601 commit 5d13dae

File tree

1 file changed

+3
-29
lines changed

1 file changed

+3
-29
lines changed

vm/src/obj/objbyteinner.rs

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -612,18 +612,9 @@ impl PyByteInner {
612612

613613
pub fn join(&self, iter: PyIterable, vm: &VirtualMachine) -> PyResult {
614614
let mut refs = vec![];
615-
for (index, v) in iter.iter(vm)?.enumerate() {
615+
for v in iter.iter(vm)? {
616616
let v = v?;
617-
match try_as_bytes_like(&v) {
618-
None => {
619-
return Err(vm.new_type_error(format!(
620-
"sequence item {}: expected a bytes-like object, {} found",
621-
index,
622-
&v.class().name,
623-
)));
624-
}
625-
Some(value) => refs.extend(value),
626-
}
617+
refs.extend(PyByteInner::try_from_object(vm, v)?.elements)
627618
}
628619

629620
Ok(vm.ctx.new_bytes(refs))
@@ -642,15 +633,7 @@ impl PyByteInner {
642633
Either::B(tuple) => {
643634
let mut flatten = vec![];
644635
for v in objsequence::get_elements(tuple.as_object()).to_vec() {
645-
match try_as_bytes_like(&v) {
646-
None => {
647-
return Err(vm.new_type_error(format!(
648-
"a bytes-like object is required, not {}",
649-
&v.class().name,
650-
)));
651-
}
652-
Some(value) => flatten.extend(value),
653-
}
636+
flatten.extend(PyByteInner::try_from_object(vm, v)?.elements)
654637
}
655638
flatten
656639
}
@@ -784,15 +767,6 @@ pub fn try_as_byte(obj: &PyObjectRef) -> Option<Vec<u8>> {
784767
_ => None)
785768
}
786769

787-
pub fn try_as_bytes_like(obj: &PyObjectRef) -> Option<Vec<u8>> {
788-
match_class!(obj.clone(),
789-
790-
i @ PyBytes => Some(i.get_value().to_vec()),
791-
j @ PyByteArray => Some(get_value_bytearray(&j.as_object()).to_vec()),
792-
k @ PyMemoryView => Some(k.get_obj_value().unwrap()),
793-
_ => None)
794-
}
795-
796770
pub trait ByteOr: ToPrimitive {
797771
fn byte_or(&self, vm: &VirtualMachine) -> Result<u8, PyObjectRef> {
798772
match self.to_u8() {

0 commit comments

Comments
 (0)