deptypes 0.2.1

Dependent types
Documentation

Build #3501234 2026-06-06 21:52:28

# rustc version rustc 1.98.0-nightly (8954863c8 2026-06-05)

# docs.rs version docsrs 0.0.0 (39849b9c22c419f6b690c8d2213455bc7426a6b8 2026-06-03 )

# build log [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "72a8f9dfc2ff4adc177d057357e3430cb3c7b0f4f07064192fbbfb94ce29bf16" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260605-1.98.0-nightly-8954863c8\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting deptypes v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `invariant` [INFO] [stderr] --> src/type_eq.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^ no item named `invariant` in scope [INFO] [stderr] ... [INFO] [stderr] 62 | / impl_type_r!( [INFO] [stderr] 63 | | /// Evidence of the transitive relation R<(T, U) as a zero-sized type. [INFO] [stderr] 64 | | struct TypeLtR = " < ", TypeLeR; [INFO] [stderr] 65 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `invariant` [INFO] [stderr] --> src/type_eq.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^ no item named `invariant` in scope [INFO] [stderr] ... [INFO] [stderr] 91 | / impl_type_r!( [INFO] [stderr] 92 | | /// Evidence of the transitive relation R<=(T, U) as a zero-sized type. [INFO] [stderr] 93 | | struct TypeLeR = " <= ", TypeLeR; [INFO] [stderr] 94 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `invariant` [INFO] [stderr] --> src/type_eq.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^ no item named `invariant` in scope [INFO] [stderr] ... [INFO] [stderr] 123 | / impl_type_r!( [INFO] [stderr] 124 | | /// Evidence of the symmetric and transitive relation R(T, U) as a zero-sized type. [INFO] [stderr] 125 | | struct TypeEqR = " == ", TypeEqR; [INFO] [stderr] 126 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `invariant` [INFO] [stderr] --> src/type_eq.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^ no item named `invariant` in scope [INFO] [stderr] ... [INFO] [stderr] 180 | / impl_type_r!( [INFO] [stderr] 181 | | /// Evidence of absence of the symmetric and transitive relation R(T, U) as a zero-sized type. [INFO] [stderr] 182 | | struct TypeNeR = " != ", TypeEqR; [INFO] [stderr] 183 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/type_eq.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | / impl_type_r!( [INFO] [stderr] 63 | | /// Evidence of the transitive relation R<(T, U) as a zero-sized type. [INFO] [stderr] 64 | | struct TypeLtR = " < ", TypeLeR; [INFO] [stderr] 65 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] = note: `#[warn(rustdoc::bare_urls)]` on by default [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: <https://doc.rust-lang.org/nomicon/subtyping.html#variance> [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/type_eq.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 91 | / impl_type_r!( [INFO] [stderr] 92 | | /// Evidence of the transitive relation R<=(T, U) as a zero-sized type. [INFO] [stderr] 93 | | struct TypeLeR = " <= ", TypeLeR; [INFO] [stderr] 94 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: <https://doc.rust-lang.org/nomicon/subtyping.html#variance> [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/type_eq.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 123 | / impl_type_r!( [INFO] [stderr] 124 | | /// Evidence of the symmetric and transitive relation R(T, U) as a zero-sized type. [INFO] [stderr] 125 | | struct TypeEqR = " == ", TypeEqR; [INFO] [stderr] 126 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: <https://doc.rust-lang.org/nomicon/subtyping.html#variance> [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/type_eq.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: https://doc.rust-lang.org/nomicon/subtyping.html#variance [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 180 | / impl_type_r!( [INFO] [stderr] 181 | | /// Evidence of absence of the symmetric and transitive relation R(T, U) as a zero-sized type. [INFO] [stderr] 182 | | struct TypeNeR = " != ", TypeEqR; [INFO] [stderr] 183 | | ); [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] = note: this warning originates in the macro `impl_type_r` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 11 | /// [invariant]: <https://doc.rust-lang.org/nomicon/subtyping.html#variance> [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/int/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / /// Successor of an integer [INFO] [stderr] 50 | | /// [INFO] [stderr] 51 | | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] 52 | | /// [INFO] [stderr] 53 | | /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(rustdoc::invalid_html_tags)]` on by default [INFO] [stderr] = note: this warning originates in the macro `$crate::term_impl` which comes from the expansion of the macro `term` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 51 | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a `Value<Succ<Pred<Zero<T>>>>` can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/int/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / /// Successor of an integer [INFO] [stderr] 50 | | /// [INFO] [stderr] 51 | | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] 52 | | /// [INFO] [stderr] 53 | | /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `$crate::term_impl` which comes from the expansion of the macro `term` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 51 | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a `Value<Zero<T>>` using a ValueEq proof) [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `L` [INFO] [stderr] --> src/int/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / /// Successor of an integer [INFO] [stderr] 50 | | /// [INFO] [stderr] 51 | | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] 52 | | /// [INFO] [stderr] 53 | | /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `$crate::term_impl` which comes from the expansion of the macro `term` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 49 ~ `/// Successor of an integer [INFO] [stderr] 50 | /// [INFO] [stderr] 51 | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] 52 | /// [INFO] [stderr] 53 ~ /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>>` [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `L` [INFO] [stderr] --> src/int/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / /// Successor of an integer [INFO] [stderr] 50 | | /// [INFO] [stderr] 51 | | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] 52 | | /// [INFO] [stderr] 53 | | /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `$crate::term_impl` which comes from the expansion of the macro `term` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 53 | /// To make sure that Succ<L> is not zero, you need to require a `Value<L>`, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `L` [INFO] [stderr] --> src/int/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / /// Successor of an integer [INFO] [stderr] 50 | | /// [INFO] [stderr] 51 | | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] 52 | | /// [INFO] [stderr] 53 | | /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `$crate::term_impl` which comes from the expansion of the macro `term` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 53 | /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a `Value<Succ<L>>` (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/int/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / /// Successor of an integer [INFO] [stderr] 50 | | /// [INFO] [stderr] 51 | | /// Note that a value for this term can be formed even for zero for unsigned integers (for example, a Value<Succ<Pred<Zero<T>>>> can be formed by coercing a Value<Zero<T>> using a ValueEq proof) [INFO] [stderr] 52 | | /// [INFO] [stderr] 53 | | /// To make sure that Succ<L> is not zero, you need to require a Value<L>, not a Value<Succ<L>> (and require that L::Type: UInt)! Alternatively, if you don't require the value, you can get a ValueNe<A, Zero<T>> or ValueGt<A, Zero<T>> [INFO] [stderr] | |_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `$crate::term_impl` which comes from the expansion of the macro `term` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `L` [INFO] [stderr] --> src/iter.rs:20:62 [INFO] [stderr] | [INFO] [stderr] 20 | /// SAFETY: You must either implement equiv yourself, or Iter<L> must be transmutable to/from Iter<L2> where L and L2 are value-eq. ... [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 20 | /// SAFETY: You must either implement equiv yourself, or `Iter<L>` must be transmutable to/from Iter<L2> where L and L2 are value-eq. This means it should be #[repr(C)] or #[repr(transparent)] or ZST [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `L2` [INFO] [stderr] --> src/iter.rs:20:99 [INFO] [stderr] | [INFO] [stderr] 20 | /// SAFETY: You must either implement equiv yourself, or Iter<L> must be transmutable to/from Iter<L2> where L and L2 are value-eq. ... [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 20 | /// SAFETY: You must either implement equiv yourself, or Iter<L> must be transmutable to/from `Iter<L2>` where L and L2 are value-eq. This means it should be #[repr(C)] or #[repr(transparent)] or ZST [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `L2` [INFO] [stderr] --> src/iter.rs:46:49 [INFO] [stderr] | [INFO] [stderr] 46 | /// SAFETY: must be transmutable to/from Generic<L2> where L2 is a value-equivalent term [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 46 | /// SAFETY: must be transmutable to/from `Generic<L2>` where L2 is a value-equivalent term [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: `deptypes` (lib doc) generated 17 warnings (run `cargo fix --lib -p deptypes` to apply 4 suggestions) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.65s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/deptypes/index.html [INFO] running `Command { std: "docker" "inspect" "72a8f9dfc2ff4adc177d057357e3430cb3c7b0f4f07064192fbbfb94ce29bf16", kill_on_drop: false }`