ferritin 0.8.0

Human-friendly CLI for browsing Rust documentation
---
source: ferritin/src/tests.rs
expression: "render_for_tests(Commands::get(\"crate::TestStruct\").with_source(), OutputMode\n:: TestMode)"
---
<p>
<strong>Item:</strong> TestStruct
<strong>Kind:</strong> Struct
<strong>Visibility:</strong> Public
<strong>Defined at:</strong> <type-name>fixture_crate</type-name><punctuation>::</punctuation><type-name>TestStruct</type-name>
<strong>In crate:</strong> fixture-crate (0.1.0)</p>
<truncated level="full"><p>
A simple struct for testing basic functionality.</p>
<p>
This struct demonstrates basic usage patterns and should show completely since it only has one paragraph of documentation.</p>
<p>
It uses <inline-code>Vector</inline-code> for testing intra-doc link resolution with renamed imports. Also tests <inline-code>HashMap</inline-code> which is a non-renamed import.</p>
</truncated>
<generated-code>
<keyword>struct</keyword> <type-name>TestStruct</type-name> <punctuation>{</punctuation>
    <keyword>pub</keyword> <field-name>field</field-name><punctuation>:</punctuation> <type-name>String</type-name><punctuation>,</punctuation>
    <keyword>pub</keyword> <field-name>count</field-name><punctuation>:</punctuation> <type-name>u32</type-name><punctuation>,</punctuation>
<punctuation>}</punctuation></generated-code>
<section><section-title>Fields:</section-title><list>
  <item><generated-code>
<field-name>field</field-name><punctuation>:</punctuation> <type-name>String</type-name></generated-code>
<truncated level="single-line"><p>
A public field</p>
</truncated>
</item>
  <item><generated-code>
<field-name>count</field-name><punctuation>:</punctuation> <type-name>u32</type-name></generated-code>
<truncated level="single-line"><p>
Another public field</p>
</truncated>
</item>
</list>
</section><section><section-title>Associated Types</section-title><list>
  <item><generated-code>
<keyword>pub</keyword> <keyword>const</keyword> ASSOCIATED_CONST</generated-code>
<truncated level="single-line"><p>
This is an associated constant for a struct</p>
</truncated>
</item>
  <item><generated-code>
<keyword>pub</keyword> <keyword>fn</keyword> new<punctuation>(</punctuation>field<punctuation>:</punctuation> <type-name>String</type-name><punctuation>,</punctuation> count<punctuation>:</punctuation> <type-name>u32</type-name><punctuation>)</punctuation> <operator>-></operator> <generic>Self</generic></generated-code>
<truncated level="single-line"><p>
Create a new TestStruct</p>
</truncated>
</item>
  <item><generated-code>
<keyword>pub</keyword> <keyword>fn</keyword> get_field<punctuation>(</punctuation><punctuation>&</punctuation>self<punctuation>)</punctuation> <operator>-></operator> <operator>&</operator><type-name>str</type-name></generated-code>
<truncated level="single-line"><p>
Get the field value</p>
</truncated>
</item>
  <item><generated-code>
<keyword>pub</keyword> <keyword>fn</keyword> increment_count<punctuation>(</punctuation><punctuation>&</punctuation><keyword>mut</keyword> self<punctuation>)</punctuation></generated-code>
<truncated level="single-line"><p>
Update the count</p>
</truncated>
</item>
</list>
</section><section><section-title>Trait Implementations</section-title><p>
<type-name>TestTrait</type-name><punctuation><</punctuation><type-name>T</type-name> <operator>=</operator> <type-name>String</type-name><punctuation>></punctuation></p>
<p>
std: <type-name>From</type-name><punctuation><</punctuation><generic>T</generic><punctuation>></punctuation><punctuation>,</punctuation> <type-name>RefUnwindSafe</type-name><punctuation>,</punctuation> <type-name>UnwindSafe</type-name><punctuation>,</punctuation> <type-name>Unpin</type-name><punctuation>,</punctuation> <type-name>Clone</type-name><punctuation>,</punctuation> <type-name>UnsafeUnpin</type-name><punctuation>,</punctuation> <type-name>Freeze</type-name><punctuation>,</punctuation> <type-name>Sync</type-name><punctuation>,</punctuation> <type-name>Debug</type-name><punctuation>,</punctuation> <type-name>Send</type-name></p>
<list>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>,</punctuation> <generic>U</generic><punctuation>:</punctuation> <type-name>From</type-name><punctuation><</punctuation><generic>T</generic><punctuation>></punctuation><punctuation>></punctuation> <type-name>Into</type-name><punctuation><</punctuation><generic>U</generic><punctuation>></punctuation></generated-code>
</item>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>:</punctuation> <type-name>Clone</type-name><punctuation>></punctuation> <type-name>CloneToUninit</type-name></generated-code>
</item>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>:</punctuation> <operator>?</operator><type-name>Sized</type-name><punctuation>></punctuation> <type-name>BorrowMut</type-name><punctuation><</punctuation><generic>T</generic><punctuation>></punctuation></generated-code>
</item>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>:</punctuation> <operator>?</operator><type-name>Sized</type-name><punctuation>></punctuation> <type-name>Borrow</type-name><punctuation><</punctuation><generic>T</generic><punctuation>></punctuation></generated-code>
</item>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>:</punctuation> <type-name>Clone</type-name><punctuation>></punctuation> <type-name>ToOwned</type-name></generated-code>
<generated-code>
    <keyword>type</keyword> <type-name>Owned</type-name> <operator>=</operator> <generic>T</generic></generated-code>
</item>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>:</punctuation> <lifetime>'static</lifetime> + <operator>?</operator><type-name>Sized</type-name><punctuation>></punctuation> <type-name>Any</type-name></generated-code>
</item>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>,</punctuation> <generic>U</generic><punctuation>:</punctuation> <type-name>Into</type-name><punctuation><</punctuation><generic>T</generic><punctuation>></punctuation><punctuation>></punctuation> <type-name>TryFrom</type-name><punctuation><</punctuation><generic>U</generic><punctuation>></punctuation></generated-code>
<generated-code>
    <keyword>type</keyword> <type-name>Error</type-name> <operator>=</operator> <type-name>Infallible</type-name></generated-code>
</item>
  <item><generated-code>
<keyword>impl</keyword><punctuation><</punctuation><generic>T</generic><punctuation>,</punctuation> <generic>U</generic><punctuation>:</punctuation> <type-name>TryFrom</type-name><punctuation><</punctuation><generic>T</generic><punctuation>></punctuation><punctuation>></punctuation> <type-name>TryInto</type-name><punctuation><</punctuation><generic>U</generic><punctuation>></punctuation></generated-code>
<generated-code>
    <keyword>type</keyword> <type-name>Error</type-name> <operator>=</operator> <punctuation><</punctuation><generic>U</generic> <keyword>as</keyword> <type-name>TryFrom</type-name><punctuation><</punctuation><generic>T</generic><punctuation>></punctuation><punctuation>></punctuation><punctuation>::</punctuation>Error</generated-code>
</item>
</list>
</section><p>
Source: /TEST_CRATE_ROOT/src/lib.rs</p>
<code-block lang="rust">
#[derive(Debug, Clone)]
pub struct TestStruct {
    /// A public field
    pub field: String,
    /// Another public field
    pub count: u32,
    /// A private field
    private_field: bool,
}
</code-block>