Skip to content

Commit

Permalink
Merge pull request #1828 from PyO3/get_slice_rename
Browse files Browse the repository at this point in the history
  • Loading branch information
birkenfeld committed Aug 24, 2021
2 parents 688823f + 0972167 commit 3bed782
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 8 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- `PySequence`'s `in_place_repeat` and `in_place_concat` now return the result instead of `()`, which is needed
in case of immutable sequences. [#1803](https://github.com/PyO3/pyo3/pull/1803)
- Deprecate `PyTuple::split_from`. [#1804](https://github.com/PyO3/pyo3/pull/1804)
- Deprecate `PyTuple::slice`, new method `get_slice` added with proper index types. [#1828](https://github.com/PyO3/pyo3/pull/1828)

## [0.14.3] - 2021-08-22

Expand Down
8 changes: 4 additions & 4 deletions src/types/list.rs
Expand Up @@ -104,7 +104,7 @@ impl PyList {
///
/// Indices must be nonnegative, and out-of-range indices are clipped to
/// `self.len()`.
pub fn slice(&self, low: usize, high: usize) -> &PyList {
pub fn get_slice(&self, low: usize, high: usize) -> &PyList {
unsafe {
self.py().from_owned_ptr(ffi::PyList_GetSlice(
self.as_ptr(),
Expand Down Expand Up @@ -298,12 +298,12 @@ mod tests {
}

#[test]
fn test_slice() {
fn test_get_slice() {
Python::with_gil(|py| {
let list = PyList::new(py, &[2, 3, 5, 7]);
let slice = list.slice(1, 3);
let slice = list.get_slice(1, 3);
assert_eq!(2, slice.len());
let slice = list.slice(1, 7);
let slice = list.get_slice(1, 7);
assert_eq!(3, slice.len());
});
}
Expand Down
23 changes: 19 additions & 4 deletions src/types/tuple.rs
Expand Up @@ -63,7 +63,7 @@ impl PyTuple {
///
/// Indices must be nonnegative, and out-of-range indices are clipped to
/// `self.len()`.
pub fn slice(&self, low: usize, high: usize) -> &PyTuple {
pub fn get_slice(&self, low: usize, high: usize) -> &PyTuple {
unsafe {
self.py().from_owned_ptr(ffi::PyTuple_GetSlice(
self.as_ptr(),
Expand All @@ -73,7 +73,22 @@ impl PyTuple {
}
}

#[deprecated(since = "0.15.0", note = "use tuple.slice(low, tuple.len()) instead")]
#[deprecated(since = "0.15.0", note = "use self.get_slice instead")]
/// Takes the slice `self[low:high]` and returns it as a new tuple.
///
/// Indices must be nonnegative, and out-of-range indices are clipped to
/// `self.len()`.
pub fn slice(&self, low: isize, high: isize) -> &PyTuple {
unsafe {
self.py()
.from_owned_ptr(ffi::PyTuple_GetSlice(self.as_ptr(), low, high))
}
}

#[deprecated(
since = "0.15.0",
note = "use tuple.get_slice(low, tuple.len()) instead"
)]
/// Takes a slice of the tuple from `low` to the end and returns it as a new tuple.
pub fn split_from(&self, low: usize) -> &PyTuple {
unsafe {
Expand Down Expand Up @@ -398,9 +413,9 @@ mod tests {
fn test_slice() {
Python::with_gil(|py| {
let tup = PyTuple::new(py, &[2, 3, 5, 7]);
let slice = tup.slice(1, 3);
let slice = tup.get_slice(1, 3);
assert_eq!(2, slice.len());
let slice = tup.slice(1, 7);
let slice = tup.get_slice(1, 7);
assert_eq!(3, slice.len());
});
}
Expand Down

0 comments on commit 3bed782

Please sign in to comment.