Skip to content

Commit a2d71e7

Browse files
qingshi163youknowone
authored andcommitted
fix bytes getitem return type
1 parent 7b8c409 commit a2d71e7

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

vm/src/builtins/bytearray.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,15 @@ impl PyByteArray {
209209

210210
fn _getitem(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult {
211211
match SequenceIndex::try_from_borrowed_object(vm, needle)? {
212-
SequenceIndex::Int(i) => self.borrow_buf().get_item_by_index(vm, i).map(|x| vec![x]),
213-
SequenceIndex::Slice(slice) => self.borrow_buf().get_item_by_slice(vm, slice),
212+
SequenceIndex::Int(i) => self
213+
.borrow_buf()
214+
.get_item_by_index(vm, i)
215+
.map(|x| vm.ctx.new_int(x).into()),
216+
SequenceIndex::Slice(slice) => self
217+
.borrow_buf()
218+
.get_item_by_slice(vm, slice)
219+
.map(|x| Self::new_ref(x, &vm.ctx).into()),
214220
}
215-
.map(|x| vm.ctx.new_bytes(x).into())
216221
}
217222

218223
#[pymethod(magic)]

vm/src/builtins/bytes.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,13 @@ impl PyBytes {
173173
.inner
174174
.elements
175175
.get_item_by_index(vm, i)
176-
.map(|x| vec![x]),
177-
SequenceIndex::Slice(slice) => self.inner.elements.get_item_by_slice(vm, slice),
176+
.map(|x| vm.ctx.new_int(x).into()),
177+
SequenceIndex::Slice(slice) => self
178+
.inner
179+
.elements
180+
.get_item_by_slice(vm, slice)
181+
.map(|x| vm.ctx.new_bytes(x).into()),
178182
}
179-
.map(|x| vm.ctx.new_bytes(x).into())
180183
}
181184

182185
#[pymethod(magic)]

0 commit comments

Comments
 (0)