Files
google_speech_rs/docs/pyo3_build_config/struct.InterpreterConfig.html
T
2025-04-02 13:41:38 +00:00

88 lines
36 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Configuration needed by PyO3 to build for the correct Python implementation."><title>InterpreterConfig in pyo3_build_config - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-46132b98.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="pyo3_build_config" data-themes="" data-resource-suffix="" data-rustdoc-version="1.85.1 (4eb161250 2025-03-15)" data-channel="1.85.1" data-search-js="search-75f5ac3e.js" data-settings-js="settings-0f613d39.js" ><script src="../static.files/storage-59e33391.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../pyo3_build_config/index.html">pyo3_<wbr>build_<wbr>config</a><span class="version">0.24.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Interpreter<wbr>Config</a></h2><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.abi3" title="abi3">abi3</a></li><li><a href="#structfield.build_flags" title="build_flags">build_flags</a></li><li><a href="#structfield.executable" title="executable">executable</a></li><li><a href="#structfield.extra_build_script_lines" title="extra_build_script_lines">extra_build_script_lines</a></li><li><a href="#structfield.implementation" title="implementation">implementation</a></li><li><a href="#structfield.lib_dir" title="lib_dir">lib_dir</a></li><li><a href="#structfield.lib_name" title="lib_name">lib_name</a></li><li><a href="#structfield.pointer_width" title="pointer_width">pointer_width</a></li><li><a href="#structfield.python_framework_prefix" title="python_framework_prefix">python_framework_prefix</a></li><li><a href="#structfield.shared" title="shared">shared</a></li><li><a href="#structfield.suppress_build_script_link_lines" title="suppress_build_script_link_lines">suppress_build_script_link_lines</a></li><li><a href="#structfield.version" title="version">version</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.from_sysconfigdata" title="from_sysconfigdata">from_sysconfigdata</a></li><li><a href="#method.generate_import_libs" title="generate_import_libs">generate_import_libs</a></li><li><a href="#method.is_free_threaded" title="is_free_threaded">is_free_threaded</a></li><li><a href="#method.run_python_script" title="run_python_script">run_python_script</a></li><li><a href="#method.run_python_script_with_envs" title="run_python_script_with_envs">run_python_script_with_envs</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-InterpreterConfig" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-InterpreterConfig" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-InterpreterConfig" title="Send">Send</a></li><li><a href="#impl-Sync-for-InterpreterConfig" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-InterpreterConfig" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-InterpreterConfig" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate pyo3_<wbr>build_<wbr>config</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">pyo3_build_config</a></span><h1>Struct <span class="struct">InterpreterConfig</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/pyo3_build_config/impl_.rs.html#90-172">Source</a> </span></div><pre class="rust item-decl"><code>pub struct InterpreterConfig {
pub implementation: <a class="enum" href="enum.PythonImplementation.html" title="enum pyo3_build_config::PythonImplementation">PythonImplementation</a>,
pub version: <a class="struct" href="struct.PythonVersion.html" title="struct pyo3_build_config::PythonVersion">PythonVersion</a>,
pub shared: <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.bool.html">bool</a>,
pub abi3: <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.bool.html">bool</a>,
pub lib_name: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,
pub lib_dir: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,
pub executable: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,
pub pointer_width: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.u32.html">u32</a>&gt;,
pub build_flags: <a class="struct" href="struct.BuildFlags.html" title="struct pyo3_build_config::BuildFlags">BuildFlags</a>,
pub suppress_build_script_link_lines: <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.bool.html">bool</a>,
pub extra_build_script_lines: <a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,
pub python_framework_prefix: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Configuration needed by PyO3 to build for the correct Python implementation.</p>
<p>Usually this is queried directly from the Python interpreter, or overridden using the
<code>PYO3_CONFIG_FILE</code> environment variable.</p>
<p>When the <code>PYO3_NO_PYTHON</code> variable is set, or during cross compile situations, then alternative
strategies are used to populate this type.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.implementation" class="structfield section-header"><a href="#structfield.implementation" class="anchor field">§</a><code>implementation: <a class="enum" href="enum.PythonImplementation.html" title="enum pyo3_build_config::PythonImplementation">PythonImplementation</a></code></span><div class="docblock"><p>The Python implementation flavor.</p>
<p>Serialized to <code>implementation</code>.</p>
</div><span id="structfield.version" class="structfield section-header"><a href="#structfield.version" class="anchor field">§</a><code>version: <a class="struct" href="struct.PythonVersion.html" title="struct pyo3_build_config::PythonVersion">PythonVersion</a></code></span><div class="docblock"><p>Python <code>X.Y</code> version. e.g. <code>3.9</code>.</p>
<p>Serialized to <code>version</code>.</p>
</div><span id="structfield.shared" class="structfield section-header"><a href="#structfield.shared" class="anchor field">§</a><code>shared: <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Whether link library is shared.</p>
<p>Serialized to <code>shared</code>.</p>
</div><span id="structfield.abi3" class="structfield section-header"><a href="#structfield.abi3" class="anchor field">§</a><code>abi3: <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Whether linking against the stable/limited Python 3 API.</p>
<p>Serialized to <code>abi3</code>.</p>
</div><span id="structfield.lib_name" class="structfield section-header"><a href="#structfield.lib_name" class="anchor field">§</a><code>lib_name: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></span><div class="docblock"><p>The name of the link library defining Python.</p>
<p>This effectively controls the <code>cargo:rustc-link-lib=&lt;name&gt;</code> value to
control how libpython is linked. Values should not contain the <code>lib</code>
prefix.</p>
<p>Serialized to <code>lib_name</code>.</p>
</div><span id="structfield.lib_dir" class="structfield section-header"><a href="#structfield.lib_dir" class="anchor field">§</a><code>lib_dir: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></span><div class="docblock"><p>The directory containing the Python library to link against.</p>
<p>The effectively controls the <code>cargo:rustc-link-search=native=&lt;path&gt;</code> value
to add an additional library search path for the linker.</p>
<p>Serialized to <code>lib_dir</code>.</p>
</div><span id="structfield.executable" class="structfield section-header"><a href="#structfield.executable" class="anchor field">§</a><code>executable: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></span><div class="docblock"><p>Path of host <code>python</code> executable.</p>
<p>This is a valid executable capable of running on the host/building machine.
For configurations derived by invoking a Python interpreter, it was the
executable invoked.</p>
<p>Serialized to <code>executable</code>.</p>
</div><span id="structfield.pointer_width" class="structfield section-header"><a href="#structfield.pointer_width" class="anchor field">§</a><code>pointer_width: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.u32.html">u32</a>&gt;</code></span><div class="docblock"><p>Width in bits of pointers on the target machine.</p>
<p>Serialized to <code>pointer_width</code>.</p>
</div><span id="structfield.build_flags" class="structfield section-header"><a href="#structfield.build_flags" class="anchor field">§</a><code>build_flags: <a class="struct" href="struct.BuildFlags.html" title="struct pyo3_build_config::BuildFlags">BuildFlags</a></code></span><div class="docblock"><p>Additional relevant Python build flags / configuration settings.</p>
<p>Serialized to <code>build_flags</code>.</p>
</div><span id="structfield.suppress_build_script_link_lines" class="structfield section-header"><a href="#structfield.suppress_build_script_link_lines" class="anchor field">§</a><code>suppress_build_script_link_lines: <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Whether to suppress emitting of <code>cargo:rustc-link-*</code> lines from the build script.</p>
<p>Typically, <code>pyo3</code>s build script will emit <code>cargo:rustc-link-lib=</code> and
<code>cargo:rustc-link-search=</code> lines derived from other fields in this struct. In
advanced building configurations, the default logic to derive these lines may not
be sufficient. This field can be set to <code>Some(true)</code> to suppress the emission
of these lines.</p>
<p>If suppression is enabled, <code>extra_build_script_lines</code> should contain equivalent
functionality or else a build failure is likely.</p>
</div><span id="structfield.extra_build_script_lines" class="structfield section-header"><a href="#structfield.extra_build_script_lines" class="anchor field">§</a><code>extra_build_script_lines: <a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></span><div class="docblock"><p>Additional lines to <code>println!()</code> from Cargo build scripts.</p>
<p>This field can be populated to enable the <code>pyo3</code> crate to emit additional lines from its
its Cargo build script.</p>
<p>This crate doesnt populate this field itself. Rather, it is intended to be used with
externally provided config files to give them significant control over how the crate
is build/configured.</p>
<p>Serialized to multiple <code>extra_build_script_line</code> values.</p>
</div><span id="structfield.python_framework_prefix" class="structfield section-header"><a href="#structfield.python_framework_prefix" class="anchor field">§</a><code>python_framework_prefix: <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></span><div class="docblock"><p>macOS Python3.framework requires special rpath handling</p>
</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-InterpreterConfig" class="impl"><a class="src rightside" href="../src/pyo3_build_config/impl_.rs.html#174-737">Source</a><a href="#impl-InterpreterConfig" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig">InterpreterConfig</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_sysconfigdata" class="method"><a class="src rightside" href="../src/pyo3_build_config/impl_.rs.html#375-438">Source</a><h4 class="code-header">pub fn <a href="#method.from_sysconfigdata" class="fn">from_sysconfigdata</a>(sysconfigdata: &amp;Sysconfigdata) -&gt; Result&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Generate from parsed sysconfigdata file</p>
<p>Use <a href="fn.parse_sysconfigdata.html" title="fn pyo3_build_config::parse_sysconfigdata"><code>parse_sysconfigdata</code></a> to generate a hash map of configuration values which may be
used to build an <a href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig"><code>InterpreterConfig</code></a>.</p>
</div></details><section id="method.generate_import_libs" class="method"><a class="src rightside" href="../src/pyo3_build_config/impl_.rs.html#608-610">Source</a><h4 class="code-header">pub fn <a href="#method.generate_import_libs" class="fn">generate_import_libs</a>(&amp;mut self) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.unit.html">()</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.run_python_script" class="method"><a class="src rightside" href="../src/pyo3_build_config/impl_.rs.html#680-686">Source</a><h4 class="code-header">pub fn <a href="#method.run_python_script" class="fn">run_python_script</a>(&amp;self, script: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.str.html">str</a>) -&gt; Result&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</h4></section></summary><div class="docblock"><p>Run a python script using the <a href="struct.InterpreterConfig.html#structfield.executable" title="field pyo3_build_config::InterpreterConfig::executable"><code>InterpreterConfig::executable</code></a>.</p>
<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
<p>This function will panic if the <a href="struct.InterpreterConfig.html#structfield.executable" title="field pyo3_build_config::InterpreterConfig::executable"><code>executable</code></a> is <code>None</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.run_python_script_with_envs" class="method"><a class="src rightside" href="../src/pyo3_build_config/impl_.rs.html#694-705">Source</a><h4 class="code-header">pub fn <a href="#method.run_python_script_with_envs" class="fn">run_python_script_with_envs</a>&lt;I, K, V&gt;(
&amp;self,
script: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.str.html">str</a>,
envs: I,
) -&gt; Result&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.tuple.html">(K, V)</a>&gt;,
K: <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/std/ffi/os_str/struct.OsStr.html" title="struct std::ffi::os_str::OsStr">OsStr</a>&gt;,
V: <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.85.1/std/ffi/os_str/struct.OsStr.html" title="struct std::ffi::os_str::OsStr">OsStr</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Run a python script using the <a href="struct.InterpreterConfig.html#structfield.executable" title="field pyo3_build_config::InterpreterConfig::executable"><code>InterpreterConfig::executable</code></a> with additional
environment variables (e.g. PYTHONPATH) set.</p>
<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
<p>This function will panic if the <a href="struct.InterpreterConfig.html#structfield.executable" title="field pyo3_build_config::InterpreterConfig::executable"><code>executable</code></a> is <code>None</code>.</p>
</div></details><section id="method.is_free_threaded" class="method"><a class="src rightside" href="../src/pyo3_build_config/impl_.rs.html#707-709">Source</a><h4 class="code-header">pub fn <a href="#method.is_free_threaded" class="fn">is_free_threaded</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.bool.html">bool</a></h4></section></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-InterpreterConfig" class="impl"><a href="#impl-Freeze-for-InterpreterConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig">InterpreterConfig</a></h3></section><section id="impl-RefUnwindSafe-for-InterpreterConfig" class="impl"><a href="#impl-RefUnwindSafe-for-InterpreterConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig">InterpreterConfig</a></h3></section><section id="impl-Send-for-InterpreterConfig" class="impl"><a href="#impl-Send-for-InterpreterConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig">InterpreterConfig</a></h3></section><section id="impl-Sync-for-InterpreterConfig" class="impl"><a href="#impl-Sync-for-InterpreterConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig">InterpreterConfig</a></h3></section><section id="impl-Unpin-for-InterpreterConfig" class="impl"><a href="#impl-Unpin-for-InterpreterConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig">InterpreterConfig</a></h3></section><section id="impl-UnwindSafe-for-InterpreterConfig" class="impl"><a href="#impl-UnwindSafe-for-InterpreterConfig" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.InterpreterConfig.html" title="struct pyo3_build_config::InterpreterConfig">InterpreterConfig</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.85.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.85.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.85.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.85.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/borrow.rs.html#209">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.85.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/borrow.rs.html#211">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.85.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.85.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/borrow.rs.html#217">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.85.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/borrow.rs.html#218">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.85.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.85.1/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.85.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#767">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#770">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.85.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#750-752">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#760">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.85.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.85.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#807-809">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#811">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#814">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#792-794">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#796">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.85.1/src/core/convert/mod.rs.html#799">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.85.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.85.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>