Always clone on in getters
Since copy implies clone, this doesn't code.
This commit is contained in:
parent
7fbe13d97f
commit
60d1565a8f
|
@ -1,5 +1,9 @@
|
|||
# Changelog
|
||||
|
||||
## Unreleased
|
||||
|
||||
* Always clone in getters. This allows using the get-annotation on all Clone-Types
|
||||
|
||||
## 0.2.7 (2018-05-18)
|
||||
|
||||
* Fix nightly breakage with proc_macro_path
|
||||
|
|
|
@ -302,7 +302,7 @@ fn impl_descriptors(
|
|||
quote! {
|
||||
impl #cls {
|
||||
fn #name(&self) -> _pyo3::PyResult<#field_ty> {
|
||||
Ok(self.#name)
|
||||
Ok(self.#name.clone())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,6 +54,8 @@ fn class_with_properties() {
|
|||
struct GetterSetter {
|
||||
#[prop(get, set)]
|
||||
num: i32,
|
||||
#[prop(get, set)]
|
||||
text: String,
|
||||
token: PyToken
|
||||
}
|
||||
|
||||
|
@ -70,8 +72,9 @@ fn getter_setter_autogen() {
|
|||
let gil = Python::acquire_gil();
|
||||
let py = gil.python();
|
||||
|
||||
let inst = py.init(|t| GetterSetter{num: 10, token: t}).unwrap();
|
||||
let inst = py.init(|t| GetterSetter{num: 10, token: t, text: "Hello".to_string()}).unwrap();
|
||||
|
||||
py_run!(py, inst, "assert inst.num == 10");
|
||||
py_run!(py, inst, "inst.num = 20; assert inst.num == 20");
|
||||
py_run!(py, inst, "assert inst.text == 'Hello'; inst.text = 'There'; assert inst.text == 'There'");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue