[go: up one dir, main page]

epaint 0.9.0

Minimal 2D graphics library for GUI work
Documentation
Build #346819 2021-02-07 16:09:31
# rustc version
rustc 1.51.0-nightly (04caa632d 2021-01-30)# docs.rs version
docsrs 0.6.0 (66fa7c8 2021-02-04)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/epaint-0.9.0/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/epaint-0.9.0/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "3221225472" "--cpus" "2" "--user" "1001:1001" "--network" "none" "rustops/crates-build-env@sha256:ce6408862c0f4858e6cd2b85b2cf085ff7d0d6323904d0a94b71664a228554ab" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs\"" "-j2" "--" "-Z" "unstable-options" "--resource-suffix" "-20210130-1.51.0-nightly-04caa632d" "--static-root-path" "/" "--cap-lints" "warn" "--disable-per-crate-search", kill_on_drop: false }`
[INFO] [stdout] ef2357d9f88b9a47d1377446d6bee1e3588f92f77d4ea0a1b155e0a715184094
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ef2357d9f88b9a47d1377446d6bee1e3588f92f77d4ea0a1b155e0a715184094", kill_on_drop: false }`
[INFO] [stderr] /opt/crates-build-env/entrypoint.sh: line 7: /etc/hosts: Permission denied
[INFO] [stderr]    Compiling libc v0.2.85
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking ttf-parser v0.6.2
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]     Checking once_cell v1.5.2
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.4
[INFO] [stderr]     Checking emath v0.9.0
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]    Compiling ahash v0.7.0
[INFO] [stderr]     Checking lock_api v0.4.2
[INFO] [stderr]     Checking owned_ttf_parser v0.6.0
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stderr]     Checking parking_lot_core v0.8.2
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]  Documenting epaint v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/lib.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | //! 2D graphics/rendering. Fonts, textures, color, geometry, tessellation etc.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     missing_doc_code_examples,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/color.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | / //! Color conversions and types.
[INFO] [stderr] 2 | | //!
[INFO] [stderr] 3 | | //! If you want a compact color representation, use [`Color32`].
[INFO] [stderr] 4 | | //! If you want to manipulate RGBA colors use [`Rgba`].
[INFO] [stderr] 5 | | //! If you want to manipulate colors in a way closer to how humans think about colors, use [`HsvaGamma`].
[INFO] [stderr]   | |_________________________________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:9:1
[INFO] [stderr]    |
[INFO] [stderr] 9  | / /// This format is used for space-efficient color representation (32 bits).
[INFO] [stderr] 10 | | ///
[INFO] [stderr] 11 | | /// Instead of manipulating this directly it is often better
[INFO] [stderr] 12 | | /// to first convert it to either [`Rgba`] or [`Hsva`].
[INFO] [stderr] 13 | | ///
[INFO] [stderr] 14 | | /// Internally this uses 0-255 gamma space `sRGBA` color with premultiplied alpha.
[INFO] [stderr] 15 | | /// Alpha channel is in linear space.
[INFO] [stderr]    | |_____________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:34:1
[INFO] [stderr]    |
[INFO] [stderr] 34 | / pub const fn srgba(r: u8, g: u8, b: u8, a: u8) -> Color32 {
[INFO] [stderr] 35 | |     Color32::from_rgba_premultiplied(r, g, b, a)
[INFO] [stderr] 36 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:38:1
[INFO] [stderr]     |
[INFO] [stderr] 38  | / impl Color32 {
[INFO] [stderr] 39  | |     pub const TRANSPARENT: Color32 = Color32::from_rgba_premultiplied(0, 0, 0, 0);
[INFO] [stderr] 40  | |     pub const BLACK: Color32 = Color32::from_rgb(0, 0, 0);
[INFO] [stderr] 41  | |     pub const LIGHT_GRAY: Color32 = Color32::from_rgb(220, 220, 220);
[INFO] [stderr] ...   |
[INFO] [stderr] 143 | |     }
[INFO] [stderr] 144 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | /     pub const fn from_rgb(r: u8, g: u8, b: u8) -> Self {
[INFO] [stderr] 52 | |         Self([r, g, b, 255])
[INFO] [stderr] 53 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 | /     pub const fn from_rgb_additive(r: u8, g: u8, b: u8) -> Self {
[INFO] [stderr] 56 | |         Self([r, g, b, 0])
[INFO] [stderr] 57 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     /// From `sRGBA` with premultiplied alpha.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 |     /// From `sRGBA` WITHOUT premultiplied alpha.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:85:5
[INFO] [stderr]    |
[INFO] [stderr] 85 | /     pub const fn new(r: u8, g: u8, b: u8, a: u8) -> Self {
[INFO] [stderr] 86 | |         Self([r, g, b, a])
[INFO] [stderr] 87 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:89:5
[INFO] [stderr]    |
[INFO] [stderr] 89 | /     pub const fn from_gray(l: u8) -> Self {
[INFO] [stderr] 90 | |         Self([l, l, l, 255])
[INFO] [stderr] 91 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 | /     pub const fn from_black_alpha(a: u8) -> Self {
[INFO] [stderr] 94 | |         Self([0, 0, 0, a])
[INFO] [stderr] 95 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/color.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 | /     pub fn from_white_alpha(a: u8) -> Self {
[INFO] [stderr] 98 | |         Rgba::from_white_alpha(linear_f32_from_linear_u8(a)).into()
[INFO] [stderr] 99 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr] 101 | /     pub const fn from_additive_luminance(l: u8) -> Self {
[INFO] [stderr] 102 | |         Self([l, l, l, 0])
[INFO] [stderr] 103 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 105 | /     pub fn is_opaque(&self) -> bool {
[INFO] [stderr] 106 | |         self.a() == 255
[INFO] [stderr] 107 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 | /     pub fn r(&self) -> u8 {
[INFO] [stderr] 110 | |         self.0[0]
[INFO] [stderr] 111 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:112:5
[INFO] [stderr]     |
[INFO] [stderr] 112 | /     pub fn g(&self) -> u8 {
[INFO] [stderr] 113 | |         self.0[1]
[INFO] [stderr] 114 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:115:5
[INFO] [stderr]     |
[INFO] [stderr] 115 | /     pub fn b(&self) -> u8 {
[INFO] [stderr] 116 | |         self.0[2]
[INFO] [stderr] 117 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | /     pub fn a(&self) -> u8 {
[INFO] [stderr] 119 | |         self.0[3]
[INFO] [stderr] 120 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     /// Returns an opaque version of self
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 |     /// Premultiplied RGBA
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 |     /// Premultiplied RGBA
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     /// Multiply with 0.5 to make color half as opaque.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:148:1
[INFO] [stderr]     |
[INFO] [stderr] 148 | /// 0-1 linear space `RGBA` color with premultiplied alpha.
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:166:1
[INFO] [stderr]     |
[INFO] [stderr] 166 | / impl Rgba {
[INFO] [stderr] 167 | |     pub const TRANSPARENT: Rgba = Rgba::from_rgba_premultiplied(0.0, 0.0, 0.0, 0.0);
[INFO] [stderr] 168 | |     pub const BLACK: Rgba = Rgba::from_rgb(0.0, 0.0, 0.0);
[INFO] [stderr] 169 | |     pub const WHITE: Rgba = Rgba::from_rgb(1.0, 1.0, 1.0);
[INFO] [stderr] ...   |
[INFO] [stderr] 252 | |     }
[INFO] [stderr] 253 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:174:5
[INFO] [stderr]     |
[INFO] [stderr] 174 | /     pub const fn from_rgba_premultiplied(r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stderr] 175 | |         Self([r, g, b, a])
[INFO] [stderr] 176 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:178:5
[INFO] [stderr]     |
[INFO] [stderr] 178 | /     pub const fn from_rgb(r: f32, g: f32, b: f32) -> Self {
[INFO] [stderr] 179 | |         Self([r, g, b, 1.0])
[INFO] [stderr] 180 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 182 | /     pub const fn from_gray(l: f32) -> Self {
[INFO] [stderr] 183 | |         Self([l, l, l, 1.0])
[INFO] [stderr] 184 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 | /     pub fn from_luminance_alpha(l: f32, a: f32) -> Self {
[INFO] [stderr] 187 | |         debug_assert!(0.0 <= l && l <= 1.0);
[INFO] [stderr] 188 | |         debug_assert!(0.0 <= a && a <= 1.0);
[INFO] [stderr] 189 | |         Self([l * a, l * a, l * a, a])
[INFO] [stderr] 190 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:192:5
[INFO] [stderr]     |
[INFO] [stderr] 192 |     /// Transparent black
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:198:5
[INFO] [stderr]     |
[INFO] [stderr] 198 |     /// Transparent white
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:204:5
[INFO] [stderr]     |
[INFO] [stderr] 204 |     /// Return an additive version of this color (alpha = 0)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:210:5
[INFO] [stderr]     |
[INFO] [stderr] 210 |     /// Multiply with e.g. 0.5 to make us half transparent
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:220:5
[INFO] [stderr]     |
[INFO] [stderr] 220 | /     pub fn r(&self) -> f32 {
[INFO] [stderr] 221 | |         self.0[0]
[INFO] [stderr] 222 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:223:5
[INFO] [stderr]     |
[INFO] [stderr] 223 | /     pub fn g(&self) -> f32 {
[INFO] [stderr] 224 | |         self.0[1]
[INFO] [stderr] 225 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:226:5
[INFO] [stderr]     |
[INFO] [stderr] 226 | /     pub fn b(&self) -> f32 {
[INFO] [stderr] 227 | |         self.0[2]
[INFO] [stderr] 228 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:229:5
[INFO] [stderr]     |
[INFO] [stderr] 229 | /     pub fn a(&self) -> f32 {
[INFO] [stderr] 230 | |         self.0[3]
[INFO] [stderr] 231 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:233:5
[INFO] [stderr]     |
[INFO] [stderr] 233 |     /// How perceptually intense (bright) is the color?
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:238:5
[INFO] [stderr]     |
[INFO] [stderr] 238 |     /// Returns an opaque version of self
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:328:1
[INFO] [stderr]     |
[INFO] [stderr] 328 | /// gamma [0, 255] -> linear [0, 1].
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:337:1
[INFO] [stderr]     |
[INFO] [stderr] 337 | / /// linear [0, 255] -> linear [0, 1].
[INFO] [stderr] 338 | | /// Useful for alpha-channel.
[INFO] [stderr]     | |_____________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:343:1
[INFO] [stderr]     |
[INFO] [stderr] 343 | / /// linear [0, 1] -> gamma [0, 255] (clamped).
[INFO] [stderr] 344 | | /// Values outside this range will be clamped to the range.
[INFO] [stderr]     | |___________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:357:1
[INFO] [stderr]     |
[INFO] [stderr] 357 | / /// linear [0, 1] -> linear [0, 255] (clamped).
[INFO] [stderr] 358 | | /// Useful for alpha-channel.
[INFO] [stderr]     | |_____________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:373:1
[INFO] [stderr]     |
[INFO] [stderr] 373 | / /// gamma [0, 1] -> linear [0, 1] (not clamped).
[INFO] [stderr] 374 | | /// Works for numbers outside this range (e.g. negative numbers).
[INFO] [stderr]     | |_________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:385:1
[INFO] [stderr]     |
[INFO] [stderr] 385 | / /// linear [0, 1] -> gamma [0, 1] (not clamped).
[INFO] [stderr] 386 | | /// Works for numbers outside this range (e.g. negative numbers).
[INFO] [stderr]     | |_________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:399:1
[INFO] [stderr]     |
[INFO] [stderr] 399 | / /// Hue, saturation, value, alpha. All in the range [0, 1].
[INFO] [stderr] 400 | | /// No premultiplied alpha.
[INFO] [stderr]     | |___________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:413:1
[INFO] [stderr]     |
[INFO] [stderr] 413 | / impl Hsva {
[INFO] [stderr] 414 | |     pub fn new(h: f32, s: f32, v: f32, a: f32) -> Self {
[INFO] [stderr] 415 | |         Self { h, s, v, a }
[INFO] [stderr] 416 | |     }
[INFO] [stderr] ...   |
[INFO] [stderr] 537 | |     }
[INFO] [stderr] 538 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:414:5
[INFO] [stderr]     |
[INFO] [stderr] 414 | /     pub fn new(h: f32, s: f32, v: f32, a: f32) -> Self {
[INFO] [stderr] 415 | |         Self { h, s, v, a }
[INFO] [stderr] 416 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:418:5
[INFO] [stderr]     |
[INFO] [stderr] 418 |     /// From `sRGBA` with premultiplied alpha
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:428:5
[INFO] [stderr]     |
[INFO] [stderr] 428 |     /// From `sRGBA` without premultiplied alpha
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:438:5
[INFO] [stderr]     |
[INFO] [stderr] 438 |     /// From linear RGBA with premultiplied alpha
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:453:5
[INFO] [stderr]     |
[INFO] [stderr] 453 |     /// From linear RGBA without premultiplied alpha
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:460:5
[INFO] [stderr]     |
[INFO] [stderr] 460 | /     pub fn from_additive_rgb(rgb: [f32; 3]) -> Self {
[INFO] [stderr] 461 | |         let (h, s, v) = hsv_from_rgb(rgb);
[INFO] [stderr] 462 | |         Hsva {
[INFO] [stderr] 463 | |             h,
[INFO] [stderr] ...   |
[INFO] [stderr] 467 | |         }
[INFO] [stderr] 468 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:470:5
[INFO] [stderr]     |
[INFO] [stderr] 470 | /     pub fn from_rgb(rgb: [f32; 3]) -> Self {
[INFO] [stderr] 471 | |         let (h, s, v) = hsv_from_rgb(rgb);
[INFO] [stderr] 472 | |         Hsva { h, s, v, a: 1.0 }
[INFO] [stderr] 473 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:475:5
[INFO] [stderr]     |
[INFO] [stderr] 475 | /     pub fn from_srgb([r, g, b]: [u8; 3]) -> Self {
[INFO] [stderr] 476 | |         Self::from_rgb([
[INFO] [stderr] 477 | |             linear_f32_from_gamma_u8(r),
[INFO] [stderr] 478 | |             linear_f32_from_gamma_u8(g),
[INFO] [stderr] 479 | |             linear_f32_from_gamma_u8(b),
[INFO] [stderr] 480 | |         ])
[INFO] [stderr] 481 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:485:5
[INFO] [stderr]     |
[INFO] [stderr] 485 | /     pub fn to_opaque(self) -> Self {
[INFO] [stderr] 486 | |         Self { a: 1.0, ..self }
[INFO] [stderr] 487 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:489:5
[INFO] [stderr]     |
[INFO] [stderr] 489 | /     pub fn to_rgb(&self) -> [f32; 3] {
[INFO] [stderr] 490 | |         rgb_from_hsv((self.h, self.s, self.v))
[INFO] [stderr] 491 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:493:5
[INFO] [stderr]     |
[INFO] [stderr] 493 | /     pub fn to_srgb(&self) -> [u8; 3] {
[INFO] [stderr] 494 | |         let [r, g, b] = self.to_rgb();
[INFO] [stderr] 495 | |         [
[INFO] [stderr] 496 | |             gamma_u8_from_linear_f32(r),
[INFO] [stderr] ...   |
[INFO] [stderr] 499 | |         ]
[INFO] [stderr] 500 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:502:5
[INFO] [stderr]     |
[INFO] [stderr] 502 | /     pub fn to_rgba_premultiplied(&self) -> [f32; 4] {
[INFO] [stderr] 503 | |         let [r, g, b, a] = self.to_rgba_unmultiplied();
[INFO] [stderr] 504 | |         let additive = a < 0.0;
[INFO] [stderr] 505 | |         if additive {
[INFO] [stderr] ...   |
[INFO] [stderr] 509 | |         }
[INFO] [stderr] 510 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:512:5
[INFO] [stderr]     |
[INFO] [stderr] 512 |     /// Represents additive colors using a negative alpha.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:519:5
[INFO] [stderr]     |
[INFO] [stderr] 519 | /     pub fn to_srgba_premultiplied(&self) -> [u8; 4] {
[INFO] [stderr] 520 | |         let [r, g, b, a] = self.to_rgba_premultiplied();
[INFO] [stderr] 521 | |         [
[INFO] [stderr] 522 | |             gamma_u8_from_linear_f32(r),
[INFO] [stderr] ...   |
[INFO] [stderr] 526 | |         ]
[INFO] [stderr] 527 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:529:5
[INFO] [stderr]     |
[INFO] [stderr] 529 | /     pub fn to_srgba_unmultiplied(&self) -> [u8; 4] {
[INFO] [stderr] 530 | |         let [r, g, b, a] = self.to_rgba_unmultiplied();
[INFO] [stderr] 531 | |         [
[INFO] [stderr] 532 | |             gamma_u8_from_linear_f32(r),
[INFO] [stderr] ...   |
[INFO] [stderr] 536 | |         ]
[INFO] [stderr] 537 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:562:1
[INFO] [stderr]     |
[INFO] [stderr] 562 | /// All ranges in 0-1, rgb is linear.
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:586:1
[INFO] [stderr]     |
[INFO] [stderr] 586 | /// All ranges in 0-1, rgb is linear.
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:624:1
[INFO] [stderr]     |
[INFO] [stderr] 624 | / /// Like Hsva but with the `v` value (brightness) being gamma corrected
[INFO] [stderr] 625 | | /// so that it is somewhat perceptually even.
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:688:1
[INFO] [stderr]     |
[INFO] [stderr] 688 | / /// Cheap and ugly.
[INFO] [stderr] 689 | | /// Made for graying out disabled `Ui`:s.
[INFO] [stderr]     | |_________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:1:1
[INFO] [stderr]     |
[INFO] [stderr] 1   | / use crate::*;
[INFO] [stderr] 2   | | use emath::*;
[INFO] [stderr] 3   | |
[INFO] [stderr] 4   | | /// The 2D vertex type.
[INFO] [stderr] ...   |
[INFO] [stderr] 252 | |     }
[INFO] [stderr] 253 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/mesh.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | / /// The 2D vertex type.
[INFO] [stderr] 5 | | ///
[INFO] [stderr] 6 | | /// Should be friendly to send to GPU as is.
[INFO] [stderr]   | |____________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | /// Textured triangles in two dimensions.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:40:1
[INFO] [stderr]     |
[INFO] [stderr] 40  | / impl Mesh {
[INFO] [stderr] 41  | |     pub fn with_texture(texture_id: TextureId) -> Self {
[INFO] [stderr] 42  | |         Self {
[INFO] [stderr] 43  | |             texture_id,
[INFO] [stderr] ...   |
[INFO] [stderr] 222 | |     }
[INFO] [stderr] 223 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | /     pub fn with_texture(texture_id: TextureId) -> Self {
[INFO] [stderr] 42 | |         Self {
[INFO] [stderr] 43 | |             texture_id,
[INFO] [stderr] 44 | |             ..Default::default()
[INFO] [stderr] 45 | |         }
[INFO] [stderr] 46 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | /     pub fn bytes_used(&self) -> usize {
[INFO] [stderr] 49 | |         std::mem::size_of::<Self>()
[INFO] [stderr] 50 | |             + self.vertices.len() * std::mem::size_of::<Vertex>()
[INFO] [stderr] 51 | |             + self.indices.len() * std::mem::size_of::<u32>()
[INFO] [stderr] 52 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     /// Are all indices within the bounds of the contained vertices?
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | /     pub fn is_empty(&self) -> bool {
[INFO] [stderr] 65 | |         self.indices.is_empty() && self.vertices.is_empty()
[INFO] [stderr] 66 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     /// Append all the indices and vertices of `other` to `self`.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 | /     pub fn colored_vertex(&mut self, pos: Pos2, color: Color32) {
[INFO] [stderr] 89 | |         debug_assert!(self.texture_id == TextureId::Egui);
[INFO] [stderr] 90 | |         self.vertices.push(Vertex {
[INFO] [stderr] 91 | |             pos,
[INFO] [stderr] ...  |
[INFO] [stderr] 94 | |         });
[INFO] [stderr] 95 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mesh.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 |     /// Add a triangle.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:104:5
[INFO] [stderr]     |
[INFO] [stderr] 104 | /     /// Make room for this many additional triangles (will reserve 3x as many indices).
[INFO] [stderr] 105 | |     /// See also `reserve_vertices`.
[INFO] [stderr]     | |____________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:110:5
[INFO] [stderr]     |
[INFO] [stderr] 110 | /     /// Make room for this many additional vertices.
[INFO] [stderr] 111 | |     /// See also `reserve_triangles`.
[INFO] [stderr]     | |_____________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:116:5
[INFO] [stderr]     |
[INFO] [stderr] 116 |     /// Rectangle with a texture and color.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:146:5
[INFO] [stderr]     |
[INFO] [stderr] 146 |     /// Uniformly colored rectangle.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:152:5
[INFO] [stderr]     |
[INFO] [stderr] 152 | /     /// This is for platforms that only support 16-bit index buffers.
[INFO] [stderr] 153 | |     ///
[INFO] [stderr] 154 | |     /// Splits this mesh into many smaller meshes (if needed)
[INFO] [stderr] 155 | |     /// where the smaller meshes have 16-bit indices.
[INFO] [stderr]     | |_____________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:217:5
[INFO] [stderr]     |
[INFO] [stderr] 217 |     /// Translate location by this much, in-place
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:227:1
[INFO] [stderr]     |
[INFO] [stderr] 227 | / /// A version of [`Mesh`] that uses 16-bit indices.
[INFO] [stderr] 228 | | ///
[INFO] [stderr] 229 | | /// This is produced by [`Mesh::split_to_u16`] and is meant to be used for legacy render backends.
[INFO] [stderr]     | |__________________________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:243:1
[INFO] [stderr]     |
[INFO] [stderr] 243 | / impl Mesh16 {
[INFO] [stderr] 244 | |     /// Are all indices within the bounds of the contained vertices?
[INFO] [stderr] 245 | |     pub fn is_valid(&self) -> bool {
[INFO] [stderr] 246 | |         if self.vertices.len() <= u16::MAX as usize {
[INFO] [stderr] ...   |
[INFO] [stderr] 252 | |     }
[INFO] [stderr] 253 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/mesh.rs:244:5
[INFO] [stderr]     |
[INFO] [stderr] 244 |     /// Are all indices within the bounds of the contained vertices?
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/mutex.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | / //! Helper module that wraps some Mutex types with different implementations.
[INFO] [stderr] 2 | | //!
[INFO] [stderr] 3 | | //! When the `single_threaded` feature is on the mutexes will panic when locked from different threads.
[INFO] [stderr]   | |_______________________________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | /// Provides interior mutability. Only thread-safe if the `multi_threaded` feature is enabled.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | / impl<T> Mutex<T> {
[INFO] [stderr] 18 | |     #[inline(always)]
[INFO] [stderr] 19 | |     pub fn new(val: T) -> Self {
[INFO] [stderr] 20 | |         Self(parking_lot::Mutex::new(val))
[INFO] [stderr] ...  |
[INFO] [stderr] 37 | |     }
[INFO] [stderr] 38 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | /     pub fn new(val: T) -> Self {
[INFO] [stderr] 20 | |         Self(parking_lot::Mutex::new(val))
[INFO] [stderr] 21 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | /     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stderr] 25 | |         // TODO: detect if we are trying to lock the same mutex from the same thread (bad)
[INFO] [stderr] 26 | |         // vs locking it from another thread (fine).
[INFO] [stderr] 27 | |         // At the moment we just panic on any double-locking of a mutex (so no multithreaded support in debug builds)
[INFO] [stderr] ...  |
[INFO] [stderr] 30 | |             .expect("The Mutex is already locked. Probably a bug")
[INFO] [stderr] 31 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | /// Provides interior mutability. Only thread-safe if the `multi_threaded` feature is enabled.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:56:1
[INFO] [stderr]    |
[INFO] [stderr] 56 | / impl<T> RwLock<T> {
[INFO] [stderr] 57 | |     #[inline(always)]
[INFO] [stderr] 58 | |     pub fn new(val: T) -> Self {
[INFO] [stderr] 59 | |         Self(parking_lot::RwLock::new(val))
[INFO] [stderr] ...  |
[INFO] [stderr] 70 | |     }
[INFO] [stderr] 71 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 58 | /     pub fn new(val: T) -> Self {
[INFO] [stderr] 59 | |         Self(parking_lot::RwLock::new(val))
[INFO] [stderr] 60 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 | /     pub fn read(&self) -> RwLockReadGuard<'_, T> {
[INFO] [stderr] 64 | |         self.0.read()
[INFO] [stderr] 65 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/mutex.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 | /     pub fn write(&self) -> RwLockWriteGuard<'_, T> {
[INFO] [stderr] 69 | |         self.0.write()
[INFO] [stderr] 70 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shadow.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / use super::*;
[INFO] [stderr] 2  | |
[INFO] [stderr] 3  | | /// The color and fuzziness of a fuzzy shape.
[INFO] [stderr] 4  | | /// Can be used for a rectangular shadow with a soft penumbra.
[INFO] [stderr] ...  |
[INFO] [stderr] 61 | |     }
[INFO] [stderr] 62 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/shadow.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | / /// The color and fuzziness of a fuzzy shape.
[INFO] [stderr] 4 | | /// Can be used for a rectangular shadow with a soft penumbra.
[INFO] [stderr]   | |______________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shadow.rs:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | / impl Shadow {
[INFO] [stderr] 17 | |     /// Tooltips, menus, ...
[INFO] [stderr] 18 | |     pub fn small() -> Self {
[INFO] [stderr] 19 | |         Self {
[INFO] [stderr] ...  |
[INFO] [stderr] 61 | |     }
[INFO] [stderr] 62 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shadow.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     /// Tooltips, menus, ...
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shadow.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     /// Subtle and nice on dark backgrounds
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shadow.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     /// Subtle and nice on white backgrounds
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shadow.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | /     pub fn tessellate(&self, rect: emath::Rect, corner_radius: f32) -> Mesh {
[INFO] [stderr] 42 | |         // tessellator.clip_rect = clip_rect; // TODO: culling
[INFO] [stderr] 43 | |
[INFO] [stderr] 44 | |         let Self { extrusion, color } = *self;
[INFO] [stderr] ...  |
[INFO] [stderr] 60 | |         mesh
[INFO] [stderr] 61 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:1:1
[INFO] [stderr]     |
[INFO] [stderr] 1   | / use crate::{
[INFO] [stderr] 2   | |     text::{Fonts, Galley, TextStyle},
[INFO] [stderr] 3   | |     Color32, Mesh, Stroke,
[INFO] [stderr] 4   | | };
[INFO] [stderr] ...   |
[INFO] [stderr] 200 | |     }
[INFO] [stderr] 201 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/shape.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | / /// A paint primitive such as a circle or a piece of text.
[INFO] [stderr] 8 | | /// Coordinates are all screen space points (not physical pixels).
[INFO] [stderr]   | |__________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape.rs:55:1
[INFO] [stderr]    |
[INFO] [stderr] 55 | /// ## Constructors
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | /     pub fn line_segment(points: [Pos2; 2], stroke: impl Into<Stroke>) -> Self {
[INFO] [stderr] 58 | |         Self::LineSegment {
[INFO] [stderr] 59 | |             points,
[INFO] [stderr] 60 | |             stroke: stroke.into(),
[INFO] [stderr] 61 | |         }
[INFO] [stderr] 62 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | /     pub fn line(points: Vec<Pos2>, stroke: impl Into<Stroke>) -> Self {
[INFO] [stderr] 65 | |         Self::Path {
[INFO] [stderr] 66 | |             points,
[INFO] [stderr] 67 | |             closed: false,
[INFO] [stderr] ...  |
[INFO] [stderr] 70 | |         }
[INFO] [stderr] 71 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | /     pub fn closed_line(points: Vec<Pos2>, stroke: impl Into<Stroke>) -> Self {
[INFO] [stderr] 74 | |         Self::Path {
[INFO] [stderr] 75 | |             points,
[INFO] [stderr] 76 | |             closed: true,
[INFO] [stderr] ...  |
[INFO] [stderr] 79 | |         }
[INFO] [stderr] 80 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape.rs:82:5
[INFO] [stderr]    |
[INFO] [stderr] 82 | /     pub fn polygon(points: Vec<Pos2>, fill: impl Into<Color32>, stroke: impl Into<Stroke>) -> Self {
[INFO] [stderr] 83 | |         Self::Path {
[INFO] [stderr] 84 | |             points,
[INFO] [stderr] 85 | |             closed: true,
[INFO] [stderr] ...  |
[INFO] [stderr] 88 | |         }
[INFO] [stderr] 89 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 91 | /     pub fn circle_filled(center: Pos2, radius: f32, fill_color: impl Into<Color32>) -> Self {
[INFO] [stderr] 92 | |         Self::Circle {
[INFO] [stderr] 93 | |             center,
[INFO] [stderr] 94 | |             radius,
[INFO] [stderr] ...  |
[INFO] [stderr] 97 | |         }
[INFO] [stderr] 98 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr] 100 | /     pub fn circle_stroke(center: Pos2, radius: f32, stroke: impl Into<Stroke>) -> Self {
[INFO] [stderr] 101 | |         Self::Circle {
[INFO] [stderr] 102 | |             center,
[INFO] [stderr] 103 | |             radius,
[INFO] [stderr] ...   |
[INFO] [stderr] 106 | |         }
[INFO] [stderr] 107 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 | /     pub fn rect_filled(rect: Rect, corner_radius: f32, fill_color: impl Into<Color32>) -> Self {
[INFO] [stderr] 110 | |         Self::Rect {
[INFO] [stderr] 111 | |             rect,
[INFO] [stderr] 112 | |             corner_radius,
[INFO] [stderr] ...   |
[INFO] [stderr] 115 | |         }
[INFO] [stderr] 116 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | /     pub fn rect_stroke(rect: Rect, corner_radius: f32, stroke: impl Into<Stroke>) -> Self {
[INFO] [stderr] 119 | |         Self::Rect {
[INFO] [stderr] 120 | |             rect,
[INFO] [stderr] 121 | |             corner_radius,
[INFO] [stderr] ...   |
[INFO] [stderr] 124 | |         }
[INFO] [stderr] 125 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 | /     pub fn text(
[INFO] [stderr] 128 | |         fonts: &Fonts,
[INFO] [stderr] 129 | |         pos: Pos2,
[INFO] [stderr] 130 | |         anchor: Align2,
[INFO] [stderr] ...   |
[INFO] [stderr] 144 | |         }
[INFO] [stderr] 145 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:148:1
[INFO] [stderr]     |
[INFO] [stderr] 148 | /// ## Operations
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 150 | /     pub fn mesh(mesh: Mesh) -> Self {
[INFO] [stderr] 151 | |         debug_assert!(mesh.is_valid());
[INFO] [stderr] 152 | |         Self::Mesh(mesh)
[INFO] [stderr] 153 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:156:5
[INFO] [stderr]     |
[INFO] [stderr] 156 | /     pub fn triangles(mesh: Mesh) -> Self {
[INFO] [stderr] 157 | |         Self::mesh(mesh)
[INFO] [stderr] 158 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:160:5
[INFO] [stderr]     |
[INFO] [stderr] 160 | /     pub fn texture_id(&self) -> super::TextureId {
[INFO] [stderr] 161 | |         if let Shape::Mesh(mesh) = self {
[INFO] [stderr] 162 | |             mesh.texture_id
[INFO] [stderr] 163 | |         } else {
[INFO] [stderr] 164 | |             super::TextureId::Egui
[INFO] [stderr] 165 | |         }
[INFO] [stderr] 166 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/shape.rs:168:5
[INFO] [stderr]     |
[INFO] [stderr] 168 |     /// Translate location by this much, in-place
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape_transform.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / use crate::*;
[INFO] [stderr] 2  | |
[INFO] [stderr] 3  | | pub fn adjust_colors(shape: &mut Shape, adjust_color: &impl Fn(&mut Color32)) {
[INFO] [stderr] 4  | |     match shape {
[INFO] [stderr] ...  |
[INFO] [stderr] 34 | |     }
[INFO] [stderr] 35 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/shape_transform.rs:3:1
[INFO] [stderr]    |
[INFO] [stderr] 3  | / pub fn adjust_colors(shape: &mut Shape, adjust_color: &impl Fn(&mut Color32)) {
[INFO] [stderr] 4  | |     match shape {
[INFO] [stderr] 5  | |         Shape::Noop => {}
[INFO] [stderr] 6  | |         Shape::Vec(shapes) => {
[INFO] [stderr] ...  |
[INFO] [stderr] 34 | |     }
[INFO] [stderr] 35 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/stats.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | //! Collect statistics about what is being painted.
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/stats.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | /// Size of the elements in a vector/array.
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stats.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | /// Aggregate information about a bunch of allocations.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:60:1
[INFO] [stderr]     |
[INFO] [stderr] 60  | / impl AllocInfo {
[INFO] [stderr] 61  | |     // pub fn from_shape(shape: &Shape) -> Self {
[INFO] [stderr] 62  | |     //     match shape {
[INFO] [stderr] 63  | |     //         Shape::Noop
[INFO] [stderr] ...   |
[INFO] [stderr] 135 | |     }
[INFO] [stderr] 136 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stats.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | /     pub fn from_galley(galley: &Galley) -> Self {
[INFO] [stderr] 75 | |         Self::from_slice(galley.text.as_bytes()) + Self::from_slice(&galley.rows)
[INFO] [stderr] 76 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stats.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 | /     pub fn from_mesh(mesh: &Mesh) -> Self {
[INFO] [stderr] 79 | |         Self::from_slice(&mesh.indices) + Self::from_slice(&mesh.vertices)
[INFO] [stderr] 80 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stats.rs:82:5
[INFO] [stderr]    |
[INFO] [stderr] 82 | /     pub fn from_slice<T>(slice: &[T]) -> Self {
[INFO] [stderr] 83 | |         use std::mem::size_of;
[INFO] [stderr] 84 | |         let element_size = size_of::<T>();
[INFO] [stderr] 85 | |         Self {
[INFO] [stderr] ...  |
[INFO] [stderr] 90 | |         }
[INFO] [stderr] 91 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stats.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 | /     pub fn num_elements(&self) -> usize {
[INFO] [stderr] 94 | |         assert!(self.element_size != ElementSize::Heterogenous);
[INFO] [stderr] 95 | |         self.num_elements
[INFO] [stderr] 96 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stats.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 | /     pub fn num_allocs(&self) -> usize {
[INFO] [stderr] 98 | |         self.num_allocs
[INFO] [stderr] 99 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr] 100 | /     pub fn num_bytes(&self) -> usize {
[INFO] [stderr] 101 | |         self.num_bytes
[INFO] [stderr] 102 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:104:5
[INFO] [stderr]     |
[INFO] [stderr] 104 | /     pub fn megabytes(&self) -> String {
[INFO] [stderr] 105 | |         megabytes(self.num_bytes())
[INFO] [stderr] 106 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 108 | /     pub fn format(&self, what: &str) -> String {
[INFO] [stderr] 109 | |         if self.num_allocs() == 0 {
[INFO] [stderr] 110 | |             format!("{:6} {:14}", 0, what)
[INFO] [stderr] 111 | |         } else if self.num_allocs() == 1 {
[INFO] [stderr] ...   |
[INFO] [stderr] 134 | |         }
[INFO] [stderr] 135 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:138:1
[INFO] [stderr]     |
[INFO] [stderr] 138 | /// Collected allocation statistics for shapes and meshes.
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:153:1
[INFO] [stderr]     |
[INFO] [stderr] 153 | / impl PaintStats {
[INFO] [stderr] 154 | |     pub fn from_shapes(shapes: &[ClippedShape]) -> Self {
[INFO] [stderr] 155 | |         let mut stats = Self::default();
[INFO] [stderr] 156 | |         stats.shape_path.element_size = ElementSize::Heterogenous; // nicer display later
[INFO] [stderr] ...   |
[INFO] [stderr] 208 | |     // }
[INFO] [stderr] 209 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:154:5
[INFO] [stderr]     |
[INFO] [stderr] 154 | /     pub fn from_shapes(shapes: &[ClippedShape]) -> Self {
[INFO] [stderr] 155 | |         let mut stats = Self::default();
[INFO] [stderr] 156 | |         stats.shape_path.element_size = ElementSize::Heterogenous; // nicer display later
[INFO] [stderr] 157 | |         stats.shape_vec.element_size = ElementSize::Heterogenous; // nicer display later
[INFO] [stderr] ...   |
[INFO] [stderr] 163 | |         stats
[INFO] [stderr] 164 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:166:5
[INFO] [stderr]     |
[INFO] [stderr] 166 | /     fn add(&mut self, shape: &Shape) {
[INFO] [stderr] 167 | |         match shape {
[INFO] [stderr] 168 | |             Shape::Vec(shapes) => {
[INFO] [stderr] 169 | |                 // self += PaintStats::from_shapes(&shapes); // TODO
[INFO] [stderr] ...   |
[INFO] [stderr] 188 | |         }
[INFO] [stderr] 189 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:191:5
[INFO] [stderr]     |
[INFO] [stderr] 191 | /     pub fn with_clipped_meshes(mut self, clipped_meshes: &[crate::ClippedMesh]) -> Self {
[INFO] [stderr] 192 | |         self.clipped_meshes += AllocInfo::from_slice(clipped_meshes);
[INFO] [stderr] 193 | |         for ClippedMesh(_, indices) in clipped_meshes {
[INFO] [stderr] 194 | |             self.vertices += AllocInfo::from_slice(&indices.vertices);
[INFO] [stderr] ...   |
[INFO] [stderr] 197 | |         self
[INFO] [stderr] 198 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/stats.rs:211:1
[INFO] [stderr]     |
[INFO] [stderr] 211 | / fn megabytes(size: usize) -> String {
[INFO] [stderr] 212 | |     format!("{:.2} MB", size as f64 / 1e6)
[INFO] [stderr] 213 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stroke.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / use super::*;
[INFO] [stderr] 2  | |
[INFO] [stderr] 3  | | /// Describes the width and color of a line.
[INFO] [stderr] 4  | | #[derive(Clone, Copy, Debug, Default, PartialEq)]
[INFO] [stderr] ...  |
[INFO] [stderr] 30 | |     }
[INFO] [stderr] 31 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/stroke.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | /// Describes the width and color of a line.
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stroke.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | / impl Stroke {
[INFO] [stderr] 12 | |     pub fn none() -> Self {
[INFO] [stderr] 13 | |         Self::new(0.0, Color32::TRANSPARENT)
[INFO] [stderr] 14 | |     }
[INFO] [stderr] ...  |
[INFO] [stderr] 21 | |     }
[INFO] [stderr] 22 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stroke.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | /     pub fn none() -> Self {
[INFO] [stderr] 13 | |         Self::new(0.0, Color32::TRANSPARENT)
[INFO] [stderr] 14 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/stroke.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | /     pub fn new(width: impl Into<f32>, color: impl Into<Color32>) -> Self {
[INFO] [stderr] 17 | |         Self {
[INFO] [stderr] 18 | |             width: width.into(),
[INFO] [stderr] 19 | |             color: color.into(),
[INFO] [stderr] 20 | |         }
[INFO] [stderr] 21 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/tessellator.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | / //! Converts graphics primitives into textured triangles.
[INFO] [stderr] 2 | | //!
[INFO] [stderr] 3 | | //! This module converts lines, circles, text and more represented by [`Shape`]
[INFO] [stderr] 4 | | //! into textured triangles represented by [`Mesh`].
[INFO] [stderr]   | |____________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 150 |     //! Helpers for constructing paths
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     /// overwrites existing points
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:180:5
[INFO] [stderr]     |
[INFO] [stderr] 180 | /     /// Add one quadrant of a circle
[INFO] [stderr] 181 | |     ///
[INFO] [stderr] 182 | |     /// * quadrant 0: right bottom
[INFO] [stderr] 183 | |     /// * quadrant 1: left bottom
[INFO] [stderr] 184 | |     /// * quadrant 2: left top
[INFO] [stderr] 185 | |     /// * quadrant 3: right top
[INFO] [stderr]     | |_______________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/tessellator.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / pub struct PathPoint {
[INFO] [stderr] 16 | |     pos: Pos2,
[INFO] [stderr] 17 | |
[INFO] [stderr] 18 | |     /// For filled paths the normal is used for anti-aliasing (both strokes and filled areas).
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     normal: Vec2,
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/tessellator.rs:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | / /// A connected line (without thickness or gaps) which can be tessellated
[INFO] [stderr] 31 | | /// to either to a stroke (with thickness) or a filled convex area.
[INFO] [stderr] 32 | | /// Used as a scratch-pad during tessellation.
[INFO] [stderr]    | |______________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:36:1
[INFO] [stderr]     |
[INFO] [stderr] 36  | / impl Path {
[INFO] [stderr] 37  | |     pub fn clear(&mut self) {
[INFO] [stderr] 38  | |         self.0.clear();
[INFO] [stderr] 39  | |     }
[INFO] [stderr] ...   |
[INFO] [stderr] 146 | |     }
[INFO] [stderr] 147 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/tessellator.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | /     pub fn clear(&mut self) {
[INFO] [stderr] 38 | |         self.0.clear();
[INFO] [stderr] 39 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/tessellator.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | /     pub fn reserve(&mut self, additional: usize) {
[INFO] [stderr] 42 | |         self.0.reserve(additional)
[INFO] [stderr] 43 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/tessellator.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | /     pub fn add_point(&mut self, pos: Pos2, normal: Vec2) {
[INFO] [stderr] 47 | |         self.0.push(PathPoint { pos, normal });
[INFO] [stderr] 48 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/tessellator.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | /     pub fn add_circle(&mut self, center: Pos2, radius: f32) {
[INFO] [stderr] 51 | |         let n = (radius * 4.0).round() as i32; // TODO: tweak a bit more
[INFO] [stderr] 52 | |         let n = clamp(n, 4..=64);
[INFO] [stderr] 53 | |         self.reserve(n as usize);
[INFO] [stderr] ...  |
[INFO] [stderr] 58 | |         }
[INFO] [stderr] 59 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/tessellator.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 | /     pub fn add_line_segment(&mut self, points: [Pos2; 2]) {
[INFO] [stderr] 62 | |         self.reserve(2);
[INFO] [stderr] 63 | |         let normal = (points[1] - points[0]).normalized().rot90();
[INFO] [stderr] 64 | |         self.add_point(points[0], normal);
[INFO] [stderr] 65 | |         self.add_point(points[1], normal);
[INFO] [stderr] 66 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:68:5
[INFO] [stderr]     |
[INFO] [stderr] 68  | /     pub fn add_open_points(&mut self, points: &[Pos2]) {
[INFO] [stderr] 69  | |         let n = points.len();
[INFO] [stderr] 70  | |         assert!(n >= 2);
[INFO] [stderr] 71  | |
[INFO] [stderr] ...   |
[INFO] [stderr] 110 | |         }
[INFO] [stderr] 111 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 113 | /     pub fn add_line_loop(&mut self, points: &[Pos2]) {
[INFO] [stderr] 114 | |         let n = points.len();
[INFO] [stderr] 115 | |         assert!(n >= 2);
[INFO] [stderr] 116 | |         self.reserve(n);
[INFO] [stderr] ...   |
[INFO] [stderr] 145 | |         }
[INFO] [stderr] 146 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:219:1
[INFO] [stderr]     |
[INFO] [stderr] 219 | / pub enum PathType {
[INFO] [stderr] 220 | |     Open,
[INFO] [stderr] 221 | |     Closed,
[INFO] [stderr] 222 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:225:1
[INFO] [stderr]     |
[INFO] [stderr] 225 | /// Tessellation quality options
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:258:1
[INFO] [stderr]     |
[INFO] [stderr] 258 | /// Tessellate the given convex area into a polygon.
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:303:1
[INFO] [stderr]     |
[INFO] [stderr] 303 | /// Tessellate the given path as a stroke with thickness.
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:442:1
[INFO] [stderr]     |
[INFO] [stderr] 442 | / fn mul_color(color: Color32, factor: f32) -> Color32 {
[INFO] [stderr] 443 | |     debug_assert!(0.0 <= factor && factor <= 1.0);
[INFO] [stderr] 444 | |     // As an unfortunate side-effect of using premultiplied alpha
[INFO] [stderr] 445 | |     // we need a somewhat expensive conversion to linear space and back.
[INFO] [stderr] 446 | |     color.linear_multiply(factor)
[INFO] [stderr] 447 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:451:1
[INFO] [stderr]     |
[INFO] [stderr] 451 | /// Converts [`Shape`]s into [`Mesh`].
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:460:1
[INFO] [stderr]     |
[INFO] [stderr] 460 | / impl Tessellator {
[INFO] [stderr] 461 | |     pub fn from_options(options: TessellationOptions) -> Self {
[INFO] [stderr] 462 | |         Self {
[INFO] [stderr] 463 | |             options,
[INFO] [stderr] ...   |
[INFO] [stderr] 707 | |     }
[INFO] [stderr] 708 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:461:5
[INFO] [stderr]     |
[INFO] [stderr] 461 | /     pub fn from_options(options: TessellationOptions) -> Self {
[INFO] [stderr] 462 | |         Self {
[INFO] [stderr] 463 | |             options,
[INFO] [stderr] 464 | |             clip_rect: Rect::EVERYTHING,
[INFO] [stderr] ...   |
[INFO] [stderr] 467 | |         }
[INFO] [stderr] 468 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:470:5
[INFO] [stderr]     |
[INFO] [stderr] 470 | /     /// Tessellate a single [`Shape`] into a [`Mesh`].
[INFO] [stderr] 471 | |     ///
[INFO] [stderr] 472 | |     /// * `shape`: the shape to tessellate
[INFO] [stderr] 473 | |     /// * `options`: tessellation quality
[INFO] [stderr] ...   |
[INFO] [stderr] 476 | |     /// * `scratchpad_path`: if you plan to run `tessellate_shape`
[INFO] [stderr] 477 | |     ///    many times, pass it a reference to the same `Path` to avoid excessive allocations.
[INFO] [stderr]     | |_____________________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:587:5
[INFO] [stderr]     |
[INFO] [stderr] 587 | /     pub(crate) fn tessellate_rect(&mut self, rect: &PaintRect, out: &mut Mesh) {
[INFO] [stderr] 588 | |         let PaintRect {
[INFO] [stderr] 589 | |             mut rect,
[INFO] [stderr] 590 | |             corner_radius,
[INFO] [stderr] ...   |
[INFO] [stderr] 614 | |         stroke_path(&path.0, Closed, stroke, self.options, out);
[INFO] [stderr] 615 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:618:5
[INFO] [stderr]     |
[INFO] [stderr] 618 | /     pub fn tessellate_text(
[INFO] [stderr] 619 | |         &mut self,
[INFO] [stderr] 620 | |         fonts: &Fonts,
[INFO] [stderr] 621 | |         pos: Pos2,
[INFO] [stderr] ...   |
[INFO] [stderr] 706 | |         assert_eq!(chars.next(), None);
[INFO] [stderr] 707 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/tessellator.rs:710:1
[INFO] [stderr]     |
[INFO] [stderr] 710 | / /// Turns [`Shape`]:s into sets of triangles.
[INFO] [stderr] 711 | | ///
[INFO] [stderr] 712 | | /// The given shapes will be painted back-to-front (painters algorithm).
[INFO] [stderr] 713 | | /// They will be batched together by clip rectangle.
[INFO] [stderr] ...   |
[INFO] [stderr] 719 | | /// ## Returns
[INFO] [stderr] 720 | | /// A list of clip rectangles with matching [`Mesh`].
[INFO] [stderr]     | |_____________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/text/mod.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | //! Everything related to text, fonts, text layout, cursors etc.
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/text/cursor.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | //! Different types of text cursors, i.e. ways to point into a [`super::Galley`].
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/text/cursor.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | /// Character cursor
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/cursor.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | / impl CCursor {
[INFO] [stderr] 18 | |     pub fn new(index: usize) -> Self {
[INFO] [stderr] 19 | |         Self {
[INFO] [stderr] 20 | |             index,
[INFO] [stderr] ...  |
[INFO] [stderr] 23 | |     }
[INFO] [stderr] 24 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/cursor.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | /     pub fn new(index: usize) -> Self {
[INFO] [stderr] 19 | |         Self {
[INFO] [stderr] 20 | |             index,
[INFO] [stderr] 21 | |             prefer_next_row: false,
[INFO] [stderr] 22 | |         }
[INFO] [stderr] 23 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/cursor.rs:54:1
[INFO] [stderr]    |
[INFO] [stderr] 54 | /// Row Cursor
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/cursor.rs:69:1
[INFO] [stderr]    |
[INFO] [stderr] 69 | /// Paragraph Cursor
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/cursor.rs:98:1
[INFO] [stderr]     |
[INFO] [stderr] 98  | / /// All different types of cursors together.
[INFO] [stderr] 99  | | /// They all point to the same place, but in their own different ways.
[INFO] [stderr] 100 | | /// pcursor/rcursor can also point to after the end of the paragraph/row.
[INFO] [stderr] 101 | | /// Does not implement `PartialEq` because you must think which cursor should be equivalent.
[INFO] [stderr]     | |____________________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:1:1
[INFO] [stderr]     |
[INFO] [stderr] 1   | / use std::sync::Arc;
[INFO] [stderr] 2   | |
[INFO] [stderr] 3   | | use {
[INFO] [stderr] 4   | |     ahash::AHashMap,
[INFO] [stderr] ...   |
[INFO] [stderr] 589 | |     }
[INFO] [stderr] 590 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/font.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | / pub struct UvRect {
[INFO] [stderr] 19 | |     /// X/Y offset for nice rendering (unit: points).
[INFO] [stderr] 20 | |     pub offset: Vec2,
[INFO] [stderr] 21 | |     pub size: Vec2,
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     pub max: (u16, u16),
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/font.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | / pub struct GlyphInfo {
[INFO] [stderr] 32 | |     id: rusttype::GlyphId,
[INFO] [stderr] 33 | |
[INFO] [stderr] 34 | |     /// Unit: points.
[INFO] [stderr] ...  |
[INFO] [stderr] 38 | |     pub uv_rect: Option<UvRect>,
[INFO] [stderr] 39 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/font.rs:53:1
[INFO] [stderr]    |
[INFO] [stderr] 53 | / /// A specific font with a size.
[INFO] [stderr] 54 | | /// The interface uses points as the unit for everything.
[INFO] [stderr]    | |_________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:67:1
[INFO] [stderr]     |
[INFO] [stderr] 67  | / impl FontImpl {
[INFO] [stderr] 68  | |     pub fn new(
[INFO] [stderr] 69  | |         atlas: Arc<Mutex<TextureAtlas>>,
[INFO] [stderr] 70  | |         pixels_per_point: f32,
[INFO] [stderr] ...   |
[INFO] [stderr] 140 | |     }
[INFO] [stderr] 141 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/font.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 | /     pub fn new(
[INFO] [stderr] 69 | |         atlas: Arc<Mutex<TextureAtlas>>,
[INFO] [stderr] 70 | |         pixels_per_point: f32,
[INFO] [stderr] 71 | |         rusttype_font: Arc<rusttype::Font<'static>>,
[INFO] [stderr] ...  |
[INFO] [stderr] 94 | |         }
[INFO] [stderr] 95 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/font.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 |     /// `\n` will result in `None`
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 | /     pub fn pair_kerning(
[INFO] [stderr] 123 | |         &self,
[INFO] [stderr] 124 | |         last_glyph_id: rusttype::GlyphId,
[INFO] [stderr] 125 | |         glyph_id: rusttype::GlyphId,
[INFO] [stderr] ...   |
[INFO] [stderr] 130 | |             / self.pixels_per_point
[INFO] [stderr] 131 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     /// Height of one row of text. In points
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 | /     pub fn pixels_per_point(&self) -> f32 {
[INFO] [stderr] 139 | |         self.pixels_per_point
[INFO] [stderr] 140 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:146:1
[INFO] [stderr]     |
[INFO] [stderr] 146 | /// Wrapper over multiple `FontImpl` (e.g. a primary + fallbacks for emojis)
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:156:1
[INFO] [stderr]     |
[INFO] [stderr] 156 | / impl Font {
[INFO] [stderr] 157 | |     pub fn new(fonts: Vec<Arc<FontImpl>>) -> Self {
[INFO] [stderr] 158 | |         if fonts.is_empty() {
[INFO] [stderr] 159 | |             return Default::default();
[INFO] [stderr] ...   |
[INFO] [stderr] 477 | |     }
[INFO] [stderr] 478 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:157:5
[INFO] [stderr]     |
[INFO] [stderr] 157 | /     pub fn new(fonts: Vec<Arc<FontImpl>>) -> Self {
[INFO] [stderr] 158 | |         if fonts.is_empty() {
[INFO] [stderr] 159 | |             return Default::default();
[INFO] [stderr] 160 | |         }
[INFO] [stderr] ...   |
[INFO] [stderr] 195 | |         slf
[INFO] [stderr] 196 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:198:5
[INFO] [stderr]     |
[INFO] [stderr] 198 | /     pub fn round_to_pixel(&self, point: f32) -> f32 {
[INFO] [stderr] 199 | |         (point * self.pixels_per_point).round() / self.pixels_per_point
[INFO] [stderr] 200 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:202:5
[INFO] [stderr]     |
[INFO] [stderr] 202 |     /// Height of one row of text. In points
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:207:5
[INFO] [stderr]     |
[INFO] [stderr] 207 | /     pub fn uv_rect(&self, c: char) -> Option<UvRect> {
[INFO] [stderr] 208 | |         self.glyph_info_cache
[INFO] [stderr] 209 | |             .read()
[INFO] [stderr] 210 | |             .get(&c)
[INFO] [stderr] 211 | |             .and_then(|gi| gi.1.uv_rect)
[INFO] [stderr] 212 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:214:5
[INFO] [stderr]     |
[INFO] [stderr] 214 | /     pub fn glyph_width(&self, c: char) -> f32 {
[INFO] [stderr] 215 | |         self.glyph_info(c).1.advance_width
[INFO] [stderr] 216 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:218:5
[INFO] [stderr]     |
[INFO] [stderr] 218 |     /// `\n` will (intentionally) show up as the replacement character.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:234:5
[INFO] [stderr]     |
[INFO] [stderr] 234 | /     fn glyph_info_no_cache_or_fallback(&self, c: char) -> Option<(FontIndex, GlyphInfo)> {
[INFO] [stderr] 235 | |         for (font_index, font_impl) in self.fonts.iter().enumerate() {
[INFO] [stderr] 236 | |             if let Some(glyph_info) = font_impl.glyph_info(c) {
[INFO] [stderr] 237 | |                 self.glyph_info_cache
[INFO] [stderr] ...   |
[INFO] [stderr] 243 | |         None
[INFO] [stderr] 244 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:246:5
[INFO] [stderr]     |
[INFO] [stderr] 246 | /     /// Typeset the given text onto one row.
[INFO] [stderr] 247 | |     /// Assumes there are no `\n` in the text.
[INFO] [stderr] 248 | |     /// Return `x_offsets`, one longer than the number of characters in the text.
[INFO] [stderr]     | |_________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:275:5
[INFO] [stderr]     |
[INFO] [stderr] 275 | /     /// Typeset the given text onto one row.
[INFO] [stderr] 276 | |     /// Any `\n` will show up as the replacement character.
[INFO] [stderr] 277 | |     /// Always returns exactly one `Row` in the `Galley`.
[INFO] [stderr] 278 | |     ///
[INFO] [stderr] 279 | |     /// Most often you probably want `\n` to produce a new row,
[INFO] [stderr] 280 | |     /// and so [`Self::layout_no_wrap`] may be a better choice.
[INFO] [stderr]     | |_______________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:300:5
[INFO] [stderr]     |
[INFO] [stderr] 300 | /     /// Always returns at least one row.
[INFO] [stderr] 301 | |     /// Will line break at `\n`.
[INFO] [stderr]     | |________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:306:5
[INFO] [stderr]     |
[INFO] [stderr] 306 | /     /// Always returns at least one row.
[INFO] [stderr] 307 | |     /// Will wrap text at the given width.
[INFO] [stderr]     | |__________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:312:5
[INFO] [stderr]     |
[INFO] [stderr] 312 | /     /// * `first_row_indentation`: extra space before the very first character (in points).
[INFO] [stderr] 313 | |     /// * `max_width_in_points`: wrapping width.
[INFO] [stderr] 314 | |     /// Always returns at least one row.
[INFO] [stderr]     | |________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:387:5
[INFO] [stderr]     |
[INFO] [stderr] 387 | /     /// A paragraph is text with no line break character in it.
[INFO] [stderr] 388 | |     /// The text will be wrapped by the given `max_width_in_points`.
[INFO] [stderr] 389 | |     /// Always returns at least one row.
[INFO] [stderr]     | |________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:480:1
[INFO] [stderr]     |
[INFO] [stderr] 480 | / /// Keeps track of good places to break a long row of text.
[INFO] [stderr] 481 | | /// Will focus primarily on spaces, secondarily on things like `-`
[INFO] [stderr]     | |__________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:500:1
[INFO] [stderr]     |
[INFO] [stderr] 500 | / impl RowBreakCandidates {
[INFO] [stderr] 501 | |     fn add(&mut self, index: usize, chr: char) {
[INFO] [stderr] 502 | |         const NON_BREAKING_SPACE: char = '\u{A0}';
[INFO] [stderr] 503 | |         if chr.is_whitespace() && chr != NON_BREAKING_SPACE {
[INFO] [stderr] ...   |
[INFO] [stderr] 526 | |     }
[INFO] [stderr] 527 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:501:5
[INFO] [stderr]     |
[INFO] [stderr] 501 | /     fn add(&mut self, index: usize, chr: char) {
[INFO] [stderr] 502 | |         const NON_BREAKING_SPACE: char = '\u{A0}';
[INFO] [stderr] 503 | |         if chr.is_whitespace() && chr != NON_BREAKING_SPACE {
[INFO] [stderr] 504 | |             self.space = Some(index);
[INFO] [stderr] ...   |
[INFO] [stderr] 513 | |         }
[INFO] [stderr] 514 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:516:5
[INFO] [stderr]     |
[INFO] [stderr] 516 | /     fn has_word_boundary(&self) -> bool {
[INFO] [stderr] 517 | |         self.space.is_some() || self.logogram.is_some()
[INFO] [stderr] 518 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:520:5
[INFO] [stderr]     |
[INFO] [stderr] 520 | /     fn get(&self) -> Option<usize> {
[INFO] [stderr] 521 | |         self.space
[INFO] [stderr] 522 | |             .or(self.logogram)
[INFO] [stderr] 523 | |             .or(self.dash)
[INFO] [stderr] 524 | |             .or(self.punctuation)
[INFO] [stderr] 525 | |             .or(self.any)
[INFO] [stderr] 526 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:530:1
[INFO] [stderr]     |
[INFO] [stderr] 530 | / fn is_chinese(c: char) -> bool {
[INFO] [stderr] 531 | |     ('\u{4E00}' <= c && c <= '\u{9FFF}')
[INFO] [stderr] 532 | |         || ('\u{3400}' <= c && c <= '\u{4DBF}')
[INFO] [stderr] 533 | |         || ('\u{2B740}' <= c && c <= '\u{2B81F}')
[INFO] [stderr] 534 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/font.rs:536:1
[INFO] [stderr]     |
[INFO] [stderr] 536 | / fn allocate_glyph(
[INFO] [stderr] 537 | |     atlas: &mut TextureAtlas,
[INFO] [stderr] 538 | |     glyph: rusttype::Glyph<'static>,
[INFO] [stderr] 539 | |     scale_in_pixels: f32,
[INFO] [stderr] ...   |
[INFO] [stderr] 589 | |     }
[INFO] [stderr] 590 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:1:1
[INFO] [stderr]     |
[INFO] [stderr] 1   | / use std::{
[INFO] [stderr] 2   | |     collections::BTreeMap,
[INFO] [stderr] 3   | |     hash::{Hash, Hasher},
[INFO] [stderr] 4   | |     sync::Arc,
[INFO] [stderr] ...   |
[INFO] [stderr] 343 | |     }
[INFO] [stderr] 344 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/fonts.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | /// One of a few categories of styles of text, e.g. body, button or heading.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/fonts.rs:31:1
[INFO] [stderr]    |
[INFO] [stderr] 31 | / impl TextStyle {
[INFO] [stderr] 32 | |     pub fn all() -> impl Iterator<Item = TextStyle> {
[INFO] [stderr] 33 | |         [
[INFO] [stderr] 34 | |             TextStyle::Small,
[INFO] [stderr] ...  |
[INFO] [stderr] 42 | |     }
[INFO] [stderr] 43 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/fonts.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | /     pub fn all() -> impl Iterator<Item = TextStyle> {
[INFO] [stderr] 33 | |         [
[INFO] [stderr] 34 | |             TextStyle::Small,
[INFO] [stderr] 35 | |             TextStyle::Body,
[INFO] [stderr] ...  |
[INFO] [stderr] 41 | |         .copied()
[INFO] [stderr] 42 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/fonts.rs:45:1
[INFO] [stderr]    |
[INFO] [stderr] 45 | /// Which style of font: [`Monospace`][`FontFamily::Monospace`] or [`Proportional`][`FontFamily::Proportional`].
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/fonts.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | / fn rusttype_font_from_font_data(name: &str, data: &FontData) -> rusttype::Font<'static> {
[INFO] [stderr] 60 | |     match data {
[INFO] [stderr] 61 | |         std::borrow::Cow::Borrowed(bytes) => rusttype::Font::try_from_bytes(bytes),
[INFO] [stderr] 62 | |         std::borrow::Cow::Owned(bytes) => rusttype::Font::try_from_vec(bytes.clone()),
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | |     .unwrap_or_else(|| panic!("Error parsing {:?} TTF/OTF font file", name))
[INFO] [stderr] 65 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:174:1
[INFO] [stderr]     |
[INFO] [stderr] 174 | / /// The collection of fonts used by `epaint`.
[INFO] [stderr] 175 | | ///
[INFO] [stderr] 176 | | /// Note: `Fonts::default()` is invalid (missing `pixels_per_point`).
[INFO] [stderr]     | |_____________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:188:1
[INFO] [stderr]     |
[INFO] [stderr] 188 | / impl Fonts {
[INFO] [stderr] 189 | |     pub fn from_definitions(pixels_per_point: f32, definitions: FontDefinitions) -> Self {
[INFO] [stderr] 190 | |         // We want an atlas big enough to be able to include all the Emojis in the `TextStyle::Heading`,
[INFO] [stderr] 191 | |         // so we can show the Emoji picker demo window.
[INFO] [stderr] ...   |
[INFO] [stderr] 258 | |     }
[INFO] [stderr] 259 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:189:5
[INFO] [stderr]     |
[INFO] [stderr] 189 | /     pub fn from_definitions(pixels_per_point: f32, definitions: FontDefinitions) -> Self {
[INFO] [stderr] 190 | |         // We want an atlas big enough to be able to include all the Emojis in the `TextStyle::Heading`,
[INFO] [stderr] 191 | |         // so we can show the Emoji picker demo window.
[INFO] [stderr] 192 | |         let mut atlas = TextureAtlas::new(2048, 64);
[INFO] [stderr] ...   |
[INFO] [stderr] 238 | |         }
[INFO] [stderr] 239 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:241:5
[INFO] [stderr]     |
[INFO] [stderr] 241 | /     pub fn pixels_per_point(&self) -> f32 {
[INFO] [stderr] 242 | |         self.pixels_per_point
[INFO] [stderr] 243 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:245:5
[INFO] [stderr]     |
[INFO] [stderr] 245 | /     pub fn definitions(&self) -> &FontDefinitions {
[INFO] [stderr] 246 | |         &self.definitions
[INFO] [stderr] 247 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:249:5
[INFO] [stderr]     |
[INFO] [stderr] 249 |     /// Call each frame to get the latest available font texture data.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:271:1
[INFO] [stderr]     |
[INFO] [stderr] 271 | / struct FontImplCache {
[INFO] [stderr] 272 | |     atlas: Arc<Mutex<TextureAtlas>>,
[INFO] [stderr] 273 | |     pixels_per_point: f32,
[INFO] [stderr] 274 | |     rusttype_fonts: std::collections::BTreeMap<String, Arc<rusttype::Font<'static>>>,
[INFO] [stderr] ...   |
[INFO] [stderr] 278 | |     cache: Vec<(String, f32, Arc<FontImpl>)>,
[INFO] [stderr] 279 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:281:1
[INFO] [stderr]     |
[INFO] [stderr] 281 | / impl FontImplCache {
[INFO] [stderr] 282 | |     pub fn new(
[INFO] [stderr] 283 | |         atlas: Arc<Mutex<TextureAtlas>>,
[INFO] [stderr] 284 | |         pixels_per_point: f32,
[INFO] [stderr] ...   |
[INFO] [stderr] 343 | |     }
[INFO] [stderr] 344 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:282:5
[INFO] [stderr]     |
[INFO] [stderr] 282 | /     pub fn new(
[INFO] [stderr] 283 | |         atlas: Arc<Mutex<TextureAtlas>>,
[INFO] [stderr] 284 | |         pixels_per_point: f32,
[INFO] [stderr] 285 | |         definitions: &super::FontDefinitions,
[INFO] [stderr] ...   |
[INFO] [stderr] 303 | |         }
[INFO] [stderr] 304 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:306:5
[INFO] [stderr]     |
[INFO] [stderr] 306 | /     pub fn rusttype_font(&self, font_name: &str) -> Arc<rusttype::Font<'static>> {
[INFO] [stderr] 307 | |         self.rusttype_fonts
[INFO] [stderr] 308 | |             .get(font_name)
[INFO] [stderr] 309 | |             .unwrap_or_else(|| panic!("No font data found for {:?}", font_name))
[INFO] [stderr] 310 | |             .clone()
[INFO] [stderr] 311 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/fonts.rs:313:5
[INFO] [stderr]     |
[INFO] [stderr] 313 | /     pub fn font_impl(&mut self, font_name: &str, scale_in_points: f32) -> Arc<FontImpl> {
[INFO] [stderr] 314 | |         for entry in &self.cache {
[INFO] [stderr] 315 | |             if (entry.0.as_str(), entry.1) == (font_name, scale_in_points) {
[INFO] [stderr] 316 | |                 return entry.2.clone();
[INFO] [stderr] ...   |
[INFO] [stderr] 342 | |         font_impl
[INFO] [stderr] 343 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / //! A [`Galley`] is a piece of text after layout, i.e. where each character has been assigned a position.
[INFO] [stderr] 2  | | //!
[INFO] [stderr] 3  | | //! ## How it works
[INFO] [stderr] 4  | | //! This is going to get complicated.
[INFO] [stderr] ...  |
[INFO] [stderr] 19 | | //! and the start of the second row.
[INFO] [stderr] 20 | | //! [`CCursor::prefer_next_row`] etc selects which.
[INFO] [stderr]    | |___________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | /// A collection of text locked into place.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | /// A typeset piece of text on a single row.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:68:1
[INFO] [stderr]     |
[INFO] [stderr] 68  | / impl Row {
[INFO] [stderr] 69  | |     pub fn sanity_check(&self) {
[INFO] [stderr] 70  | |         assert!(!self.x_offsets.is_empty());
[INFO] [stderr] 71  | |     }
[INFO] [stderr] ...   |
[INFO] [stderr] 117 | |     }
[INFO] [stderr] 118 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 | /     pub fn sanity_check(&self) {
[INFO] [stderr] 70 | |         assert!(!self.x_offsets.is_empty());
[INFO] [stderr] 71 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     /// Excludes the implicit `\n` after the `Row`, if any.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 79 |     /// Includes the implicit `\n` after the `Row`, if any.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 84 | /     pub fn min_x(&self) -> f32 {
[INFO] [stderr] 85 | |         *self.x_offsets.first().unwrap()
[INFO] [stderr] 86 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 | /     pub fn max_x(&self) -> f32 {
[INFO] [stderr] 89 | |         *self.x_offsets.last().unwrap()
[INFO] [stderr] 90 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/text/galley.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 | /     pub fn height(&self) -> f32 {
[INFO] [stderr] 93 | |         self.y_max - self.y_min
[INFO] [stderr] 94 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:96:5
[INFO] [stderr]     |
[INFO] [stderr] 96  | /     pub fn rect(&self) -> Rect {
[INFO] [stderr] 97  | |         Rect::from_min_max(
[INFO] [stderr] 98  | |             pos2(self.min_x(), self.y_min),
[INFO] [stderr] 99  | |             pos2(self.max_x(), self.y_max),
[INFO] [stderr] 100 | |         )
[INFO] [stderr] 101 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:103:5
[INFO] [stderr]     |
[INFO] [stderr] 103 | /     /// Closest char at the desired x coordinate.
[INFO] [stderr] 104 | |     /// Returns something in the range `[0, char_count_excluding_newline()]`.
[INFO] [stderr]     | |_____________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:115:5
[INFO] [stderr]     |
[INFO] [stderr] 115 | /     pub fn x_offset(&self, column: usize) -> f32 {
[INFO] [stderr] 116 | |         self.x_offsets[column.min(self.x_offsets.len() - 1)]
[INFO] [stderr] 117 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:120:1
[INFO] [stderr]     |
[INFO] [stderr] 120 | / impl Galley {
[INFO] [stderr] 121 | |     pub fn sanity_check(&self) {
[INFO] [stderr] 122 | |         let mut char_count = 0;
[INFO] [stderr] 123 | |         for row in &self.rows {
[INFO] [stderr] ...   |
[INFO] [stderr] 136 | |     }
[INFO] [stderr] 137 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 121 | /     pub fn sanity_check(&self) {
[INFO] [stderr] 122 | |         let mut char_count = 0;
[INFO] [stderr] 123 | |         for row in &self.rows {
[INFO] [stderr] 124 | |             row.sanity_check();
[INFO] [stderr] ...   |
[INFO] [stderr] 135 | |         }
[INFO] [stderr] 136 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:139:1
[INFO] [stderr]     |
[INFO] [stderr] 139 | /// ## Physical positions
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:141:5
[INFO] [stderr]     |
[INFO] [stderr] 141 | /     fn end_pos(&self) -> Rect {
[INFO] [stderr] 142 | |         if let Some(row) = self.rows.last() {
[INFO] [stderr] 143 | |             let x = row.max_x();
[INFO] [stderr] 144 | |             Rect::from_min_max(pos2(x, row.y_min), pos2(x, row.y_max))
[INFO] [stderr] ...   |
[INFO] [stderr] 148 | |         }
[INFO] [stderr] 149 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:151:5
[INFO] [stderr]     |
[INFO] [stderr] 151 |     /// Returns a 0-width Rect.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 |     /// Returns a 0-width Rect.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:191:5
[INFO] [stderr]     |
[INFO] [stderr] 191 |     /// Cursor at the given position within the galley
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:238:1
[INFO] [stderr]     |
[INFO] [stderr] 238 | /// ## Cursor positions
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:240:5
[INFO] [stderr]     |
[INFO] [stderr] 240 |     /// Cursor to one-past last character.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:271:5
[INFO] [stderr]     |
[INFO] [stderr] 271 | /     pub fn end_rcursor(&self) -> RCursor {
[INFO] [stderr] 272 | |         if let Some(last_row) = self.rows.last() {
[INFO] [stderr] 273 | |             debug_assert!(!last_row.ends_with_newline);
[INFO] [stderr] 274 | |             RCursor {
[INFO] [stderr] ...   |
[INFO] [stderr] 280 | |         }
[INFO] [stderr] 281 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:284:1
[INFO] [stderr]     |
[INFO] [stderr] 284 | /// ## Cursor conversions
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:287:5
[INFO] [stderr]     |
[INFO] [stderr] 287 | /     pub fn from_ccursor(&self, ccursor: CCursor) -> Cursor {
[INFO] [stderr] 288 | |         let prefer_next_row = ccursor.prefer_next_row;
[INFO] [stderr] 289 | |         let mut ccursor_it = CCursor {
[INFO] [stderr] 290 | |             index: 0,
[INFO] [stderr] ...   |
[INFO] [stderr] 335 | |         }
[INFO] [stderr] 336 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:338:5
[INFO] [stderr]     |
[INFO] [stderr] 338 | /     pub fn from_rcursor(&self, rcursor: RCursor) -> Cursor {
[INFO] [stderr] 339 | |         if rcursor.row >= self.rows.len() {
[INFO] [stderr] 340 | |             return self.end();
[INFO] [stderr] 341 | |         }
[INFO] [stderr] ...   |
[INFO] [stderr] 383 | |         }
[INFO] [stderr] 384 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:387:5
[INFO] [stderr]     |
[INFO] [stderr] 387 | /     pub fn from_pcursor(&self, pcursor: PCursor) -> Cursor {
[INFO] [stderr] 388 | |         let prefer_next_row = pcursor.prefer_next_row;
[INFO] [stderr] 389 | |         let mut ccursor_it = CCursor {
[INFO] [stderr] 390 | |             index: 0,
[INFO] [stderr] ...   |
[INFO] [stderr] 440 | |         }
[INFO] [stderr] 441 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:444:1
[INFO] [stderr]     |
[INFO] [stderr] 444 | /// ## Cursor positions
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:446:5
[INFO] [stderr]     |
[INFO] [stderr] 446 | /     pub fn cursor_left_one_character(&self, cursor: &Cursor) -> Cursor {
[INFO] [stderr] 447 | |         if cursor.ccursor.index == 0 {
[INFO] [stderr] 448 | |             Default::default()
[INFO] [stderr] 449 | |         } else {
[INFO] [stderr] ...   |
[INFO] [stderr] 455 | |         }
[INFO] [stderr] 456 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:458:5
[INFO] [stderr]     |
[INFO] [stderr] 458 | /     pub fn cursor_right_one_character(&self, cursor: &Cursor) -> Cursor {
[INFO] [stderr] 459 | |         let ccursor = CCursor {
[INFO] [stderr] 460 | |             index: cursor.ccursor.index,
[INFO] [stderr] 461 | |             prefer_next_row: true, // default to this when navigating. It is more often useful to put cursor at the begging of a row than...
[INFO] [stderr] 462 | |         };
[INFO] [stderr] 463 | |         self.from_ccursor(ccursor + 1)
[INFO] [stderr] 464 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:466:5
[INFO] [stderr]     |
[INFO] [stderr] 466 | /     pub fn cursor_up_one_row(&self, cursor: &Cursor) -> Cursor {
[INFO] [stderr] 467 | |         if cursor.rcursor.row == 0 {
[INFO] [stderr] 468 | |             Cursor::default()
[INFO] [stderr] 469 | |         } else {
[INFO] [stderr] ...   |
[INFO] [stderr] 496 | |         }
[INFO] [stderr] 497 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:499:5
[INFO] [stderr]     |
[INFO] [stderr] 499 | /     pub fn cursor_down_one_row(&self, cursor: &Cursor) -> Cursor {
[INFO] [stderr] 500 | |         if cursor.rcursor.row + 1 < self.rows.len() {
[INFO] [stderr] 501 | |             let new_row = cursor.rcursor.row + 1;
[INFO] [stderr] 502 | |
[INFO] [stderr] ...   |
[INFO] [stderr] 530 | |         }
[INFO] [stderr] 531 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:533:5
[INFO] [stderr]     |
[INFO] [stderr] 533 | /     pub fn cursor_begin_of_row(&self, cursor: &Cursor) -> Cursor {
[INFO] [stderr] 534 | |         self.from_rcursor(RCursor {
[INFO] [stderr] 535 | |             row: cursor.rcursor.row,
[INFO] [stderr] 536 | |             column: 0,
[INFO] [stderr] 537 | |         })
[INFO] [stderr] 538 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/text/galley.rs:540:5
[INFO] [stderr]     |
[INFO] [stderr] 540 | /     pub fn cursor_end_of_row(&self, cursor: &Cursor) -> Cursor {
[INFO] [stderr] 541 | |         self.from_rcursor(RCursor {
[INFO] [stderr] 542 | |             row: cursor.rcursor.row,
[INFO] [stderr] 543 | |             column: self.rows[cursor.rcursor.row].char_count_excluding_newline(),
[INFO] [stderr] 544 | |         })
[INFO] [stderr] 545 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/texture_atlas.rs:2:1
[INFO] [stderr]     |
[INFO] [stderr] 2   | / /// An 8-bit texture containing font data.
[INFO] [stderr] 3   | | #[derive(Clone, Default)]
[INFO] [stderr] 4   | | pub struct Texture {
[INFO] [stderr] 5   | |     /// e.g. a hash of the data. Use this to detect changes!
[INFO] [stderr] ...   |
[INFO] [stderr] 108 | |     }
[INFO] [stderr] 109 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/texture_atlas.rs:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | /// An 8-bit texture containing font data.
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/texture_atlas.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | / impl Texture {
[INFO] [stderr] 15 | |     /// Returns the textures as `sRGBA` premultiplied pixels, row by row, top to bottom.
[INFO] [stderr] 16 | |     pub fn srgba_pixels(&'_ self) -> impl Iterator<Item = super::Color32> + '_ {
[INFO] [stderr] 17 | |         use super::Color32;
[INFO] [stderr] ...  |
[INFO] [stderr] 23 | |     }
[INFO] [stderr] 24 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/texture_atlas.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     /// Returns the textures as `sRGBA` premultiplied pixels, row by row, top to bottom.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/texture_atlas.rs:44:1
[INFO] [stderr]    |
[INFO] [stderr] 44 | / /// Contains font data in an atlas, where each character occupied a small rectangle.
[INFO] [stderr] 45 | | ///
[INFO] [stderr] 46 | | /// More characters can be added, possibly expanding the texture.
[INFO] [stderr]    | |_________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/texture_atlas.rs:56:1
[INFO] [stderr]     |
[INFO] [stderr] 56  | / impl TextureAtlas {
[INFO] [stderr] 57  | |     pub fn new(width: usize, height: usize) -> Self {
[INFO] [stderr] 58  | |         Self {
[INFO] [stderr] 59  | |             texture: Texture {
[INFO] [stderr] ...   |
[INFO] [stderr] 108 | |     }
[INFO] [stderr] 109 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/texture_atlas.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | /     pub fn new(width: usize, height: usize) -> Self {
[INFO] [stderr] 58 | |         Self {
[INFO] [stderr] 59 | |             texture: Texture {
[INFO] [stderr] 60 | |                 version: 0,
[INFO] [stderr] ...  |
[INFO] [stderr] 66 | |         }
[INFO] [stderr] 67 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/texture_atlas.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 | /     pub fn texture(&self) -> &Texture {
[INFO] [stderr] 70 | |         &self.texture
[INFO] [stderr] 71 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/texture_atlas.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | /     pub fn texture_mut(&mut self) -> &mut Texture {
[INFO] [stderr] 74 | |         self.texture.version += 1;
[INFO] [stderr] 75 | |         &mut self.texture
[INFO] [stderr] 76 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/texture_atlas.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 |     /// Returns the coordinates of where the rect ended up.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/lib.rs:80:1
[INFO] [stderr]    |
[INFO] [stderr] 80 | /// What texture to use in a [`Mesh`] mesh.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/lib.rs:98:1
[INFO] [stderr]     |
[INFO] [stderr] 98  | / pub(crate) struct PaintRect {
[INFO] [stderr] 99  | |     pub rect: emath::Rect,
[INFO] [stderr] 100 | |     /// How rounded the corners are. Use `0.0` for no rounding.
[INFO] [stderr] 101 | |     pub corner_radius: f32,
[INFO] [stderr] 102 | |     pub fill: Color32,
[INFO] [stderr] 103 | |     pub stroke: Stroke,
[INFO] [stderr] 104 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/lib.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | / /// A [`Shape`] within a clip rectangle.
[INFO] [stderr] 107 | | ///
[INFO] [stderr] 108 | | /// Everything is using logical points.
[INFO] [stderr]     | |_______________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/lib.rs:118:1
[INFO] [stderr]     |
[INFO] [stderr] 118 | / /// A [`Mesh`] within a clip rectangle.
[INFO] [stderr] 119 | | ///
[INFO] [stderr] 120 | | /// Everything is using logical points.
[INFO] [stderr]     | |_______________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:306:1
[INFO] [stderr]     |
[INFO] [stderr] 306 | / impl From<Color32> for Rgba {
[INFO] [stderr] 307 | |     fn from(srgba: Color32) -> Rgba {
[INFO] [stderr] 308 | |         Rgba([
[INFO] [stderr] 309 | |             linear_f32_from_gamma_u8(srgba[0]),
[INFO] [stderr] ...   |
[INFO] [stderr] 314 | |     }
[INFO] [stderr] 315 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:307:5
[INFO] [stderr]     |
[INFO] [stderr] 307 | /     fn from(srgba: Color32) -> Rgba {
[INFO] [stderr] 308 | |         Rgba([
[INFO] [stderr] 309 | |             linear_f32_from_gamma_u8(srgba[0]),
[INFO] [stderr] 310 | |             linear_f32_from_gamma_u8(srgba[1]),
[INFO] [stderr] ...   |
[INFO] [stderr] 313 | |         ])
[INFO] [stderr] 314 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:317:1
[INFO] [stderr]     |
[INFO] [stderr] 317 | / impl From<Rgba> for Color32 {
[INFO] [stderr] 318 | |     fn from(rgba: Rgba) -> Color32 {
[INFO] [stderr] 319 | |         Color32([
[INFO] [stderr] 320 | |             gamma_u8_from_linear_f32(rgba[0]),
[INFO] [stderr] ...   |
[INFO] [stderr] 325 | |     }
[INFO] [stderr] 326 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:318:5
[INFO] [stderr]     |
[INFO] [stderr] 318 | /     fn from(rgba: Rgba) -> Color32 {
[INFO] [stderr] 319 | |         Color32([
[INFO] [stderr] 320 | |             gamma_u8_from_linear_f32(rgba[0]),
[INFO] [stderr] 321 | |             gamma_u8_from_linear_f32(rgba[1]),
[INFO] [stderr] ...   |
[INFO] [stderr] 324 | |         ])
[INFO] [stderr] 325 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:540:1
[INFO] [stderr]     |
[INFO] [stderr] 540 | / impl From<Hsva> for Rgba {
[INFO] [stderr] 541 | |     fn from(hsva: Hsva) -> Rgba {
[INFO] [stderr] 542 | |         Rgba(hsva.to_rgba_premultiplied())
[INFO] [stderr] 543 | |     }
[INFO] [stderr] 544 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:541:5
[INFO] [stderr]     |
[INFO] [stderr] 541 | /     fn from(hsva: Hsva) -> Rgba {
[INFO] [stderr] 542 | |         Rgba(hsva.to_rgba_premultiplied())
[INFO] [stderr] 543 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:545:1
[INFO] [stderr]     |
[INFO] [stderr] 545 | / impl From<Rgba> for Hsva {
[INFO] [stderr] 546 | |     fn from(rgba: Rgba) -> Hsva {
[INFO] [stderr] 547 | |         Self::from_rgba_premultiplied(rgba.0)
[INFO] [stderr] 548 | |     }
[INFO] [stderr] 549 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:546:5
[INFO] [stderr]     |
[INFO] [stderr] 546 | /     fn from(rgba: Rgba) -> Hsva {
[INFO] [stderr] 547 | |         Self::from_rgba_premultiplied(rgba.0)
[INFO] [stderr] 548 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:551:1
[INFO] [stderr]     |
[INFO] [stderr] 551 | / impl From<Hsva> for Color32 {
[INFO] [stderr] 552 | |     fn from(hsva: Hsva) -> Color32 {
[INFO] [stderr] 553 | |         Color32::from(Rgba::from(hsva))
[INFO] [stderr] 554 | |     }
[INFO] [stderr] 555 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:552:5
[INFO] [stderr]     |
[INFO] [stderr] 552 | /     fn from(hsva: Hsva) -> Color32 {
[INFO] [stderr] 553 | |         Color32::from(Rgba::from(hsva))
[INFO] [stderr] 554 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:556:1
[INFO] [stderr]     |
[INFO] [stderr] 556 | / impl From<Color32> for Hsva {
[INFO] [stderr] 557 | |     fn from(srgba: Color32) -> Hsva {
[INFO] [stderr] 558 | |         Hsva::from(Rgba::from(srgba))
[INFO] [stderr] 559 | |     }
[INFO] [stderr] 560 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:557:5
[INFO] [stderr]     |
[INFO] [stderr] 557 | /     fn from(srgba: Color32) -> Hsva {
[INFO] [stderr] 558 | |         Hsva::from(Rgba::from(srgba))
[INFO] [stderr] 559 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:638:1
[INFO] [stderr]     |
[INFO] [stderr] 638 | / impl From<HsvaGamma> for Rgba {
[INFO] [stderr] 639 | |     fn from(hsvag: HsvaGamma) -> Rgba {
[INFO] [stderr] 640 | |         Hsva::from(hsvag).into()
[INFO] [stderr] 641 | |     }
[INFO] [stderr] 642 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:639:5
[INFO] [stderr]     |
[INFO] [stderr] 639 | /     fn from(hsvag: HsvaGamma) -> Rgba {
[INFO] [stderr] 640 | |         Hsva::from(hsvag).into()
[INFO] [stderr] 641 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:644:1
[INFO] [stderr]     |
[INFO] [stderr] 644 | / impl From<HsvaGamma> for Color32 {
[INFO] [stderr] 645 | |     fn from(hsvag: HsvaGamma) -> Color32 {
[INFO] [stderr] 646 | |         Rgba::from(hsvag).into()
[INFO] [stderr] 647 | |     }
[INFO] [stderr] 648 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:645:5
[INFO] [stderr]     |
[INFO] [stderr] 645 | /     fn from(hsvag: HsvaGamma) -> Color32 {
[INFO] [stderr] 646 | |         Rgba::from(hsvag).into()
[INFO] [stderr] 647 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:650:1
[INFO] [stderr]     |
[INFO] [stderr] 650 | / impl From<HsvaGamma> for Hsva {
[INFO] [stderr] 651 | |     fn from(hsvag: HsvaGamma) -> Hsva {
[INFO] [stderr] 652 | |         let HsvaGamma { h, s, v, a } = hsvag;
[INFO] [stderr] 653 | |         Hsva {
[INFO] [stderr] ...   |
[INFO] [stderr] 659 | |     }
[INFO] [stderr] 660 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:651:5
[INFO] [stderr]     |
[INFO] [stderr] 651 | /     fn from(hsvag: HsvaGamma) -> Hsva {
[INFO] [stderr] 652 | |         let HsvaGamma { h, s, v, a } = hsvag;
[INFO] [stderr] 653 | |         Hsva {
[INFO] [stderr] 654 | |             h,
[INFO] [stderr] ...   |
[INFO] [stderr] 658 | |         }
[INFO] [stderr] 659 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:662:1
[INFO] [stderr]     |
[INFO] [stderr] 662 | / impl From<Rgba> for HsvaGamma {
[INFO] [stderr] 663 | |     fn from(rgba: Rgba) -> HsvaGamma {
[INFO] [stderr] 664 | |         Hsva::from(rgba).into()
[INFO] [stderr] 665 | |     }
[INFO] [stderr] 666 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:663:5
[INFO] [stderr]     |
[INFO] [stderr] 663 | /     fn from(rgba: Rgba) -> HsvaGamma {
[INFO] [stderr] 664 | |         Hsva::from(rgba).into()
[INFO] [stderr] 665 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:668:1
[INFO] [stderr]     |
[INFO] [stderr] 668 | / impl From<Color32> for HsvaGamma {
[INFO] [stderr] 669 | |     fn from(srgba: Color32) -> HsvaGamma {
[INFO] [stderr] 670 | |         Hsva::from(srgba).into()
[INFO] [stderr] 671 | |     }
[INFO] [stderr] 672 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]    --> src/color.rs:669:5
[INFO] [stderr]     |
[INFO] [stderr] 669 | /     fn from(srgba: Color32) -> HsvaGamma {
[INFO] [stderr] 670 | |         Hsva::from(srgba).into()
[WARN] too much data in the log, truncating it