pyo3/tests/ui/invalid_property_args.stderr

66 lines
2.8 KiB
Plaintext

error: getter function can only have one argument (of type pyo3::Python)
--> tests/ui/invalid_property_args.rs:9:56
|
9 | fn getter_with_arg(&self, _py: Python<'_>, _index: u32) {}
| ^^^
error: setter function expected to have one argument
--> tests/ui/invalid_property_args.rs:18:8
|
18 | fn setter_with_no_arg(&mut self, _py: Python<'_>) {}
| ^^^^^^^^^^^^^^^^^^
error: setter function can have at most two arguments ([pyo3::Python,] and value)
--> tests/ui/invalid_property_args.rs:24:79
|
24 | fn setter_with_too_many_args(&mut self, _py: Python<'_>, _foo: u32, _bar: u32) {}
| ^^^
error: `get` and `set` with tuple struct fields require `name`
--> tests/ui/invalid_property_args.rs:28:50
|
28 | struct TupleGetterSetterNoName(#[pyo3(get, set)] i32);
| ^^^
error: `get` may only be specified once
--> tests/ui/invalid_property_args.rs:31:32
|
31 | struct MultipleGet(#[pyo3(get, get)] i32);
| ^^^
error: `set` may only be specified once
--> tests/ui/invalid_property_args.rs:34:32
|
34 | struct MultipleSet(#[pyo3(set, set)] i32);
| ^^^
error: `name` may only be specified once
--> tests/ui/invalid_property_args.rs:37:42
|
37 | struct MultipleName(#[pyo3(name = "foo", name = "bar")] i32);
| ^^^^
error: `name` is useless without `get` or `set`
--> tests/ui/invalid_property_args.rs:40:33
|
40 | struct NameWithoutGetSet(#[pyo3(name = "value")] i32);
| ^^^^^^^^^^^^^^
error[E0277]: `PhantomData<i32>` cannot be converted to a Python object
--> tests/ui/invalid_property_args.rs:45:12
|
45 | value: ::std::marker::PhantomData<i32>,
| ^ required by `#[pyo3(get)]` to create a readable property from a field of type `PhantomData<i32>`
|
= help: the trait `IntoPy<Py<PyAny>>` is not implemented for `PhantomData<i32>`, which is required by `PhantomData<i32>: PyO3GetField`
= note: implement `ToPyObject` or `IntoPy<PyObject> + Clone` for `PhantomData<i32>` to define the conversion
= note: required for `PhantomData<i32>` to implement `PyO3GetField`
note: required by a bound in `PyClassGetterGenerator::<ClassT, FieldT, Offset, false, false>::generate`
--> src/impl_/pyclass.rs
|
| pub const fn generate(&self, name: &'static CStr, doc: &'static CStr) -> PyMethodDefType
| -------- required by a bound in this associated function
...
| FieldT: PyO3GetField,
| ^^^^^^^^^^^^ required by this bound in `PyClassGetterGenerator::<ClassT, FieldT, Offset, false, false>::generate`