-
Notifications
You must be signed in to change notification settings - Fork 859
Open
Description
Tests fail with error when there are methods in #[pymethods]
impl
for struct:
Compiling pyo3-test v0.1.0 (/Users/ivan/pyo3-test)
Finished dev [unoptimized + debuginfo] target(s) in 1.10s
Running target/debug/deps/pyo3_test-34e869060858761f
dyld: Symbol not found: _PyExc_SystemError
Referenced from: /Users/ivan/pyo3-test/target/debug/deps/pyo3_test-34e869060858761f
Expected in: flat namespace
in /Users/ivan/pyo3-test/target/debug/deps/pyo3_test-34e869060858761f
error: process didn't exit successfully: `/Users/ivan/pyo3-test/target/debug/deps/pyo3_test-34e869060858761f` (signal: 6, SIGABRT: process abort signal)
🌍 Environment
- Your operating system and version: macOS 10.14.2 (18C54)
- Your python version: 3.7.2
- How did you install python (e.g. apt or pyenv)? Did you use a virtualenv?: i don't remeber, probably
brew install python3
. I used virtualenv via pipenv - Your rust version (
rustc --version
): 1.34.0-nightly (8ae730a44 2019-02-04) - Are you using the latest pyo3 version? Have you tried using latest master (replace
version = "0.x.y"
withgit = "https://github.com/PyO3/pyo3")?
I use 0.6.0-alpha.2. With latest master error is the same.
💥 Reproducing
Run cargo test
for the following code:
use pyo3::prelude::*;
#[pyclass]
struct Class {}
#[pymethods]
impl Class {
#[new]
fn __new__(obj: &PyRawObject) -> PyResult<()> {
obj.init(|| Class {})
}
}
#[pymodule]
fn pyo3_test(_py: Python, m: &PyModule) -> PyResult<()> {
m.add_class::<Class>()
}
#[cfg(test)]
mod tests {
#[test]
fn test() {}
}
Also i created minimal project for reproducing the issue: https://github.com/deaz/pyo3-test
gilescope, ThrashAbaddon, RunDevelopment and melMass