[INFO] cloning repository https://github.com/ink-feather-org/bounded_math
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ink-feather-org/bounded_math" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fink-feather-org%2Fbounded_math", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fink-feather-org%2Fbounded_math'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 56bfa905f2ac45d978cfdd8d842034cfab00e7e3
[INFO] checking ink-feather-org/bounded_math against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fink-feather-org%2Fbounded_math" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ink-feather-org/bounded_math on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/ink-feather-org/bounded_math
[INFO] finished tweaking git repo https://github.com/ink-feather-org/bounded_math
[INFO] tweaked toml for git repo https://github.com/ink-feather-org/bounded_math written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ink-feather-org/bounded_math already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 22bd9e43bcccd77734241e96514b7bcd24ff803a9a913506b3a2fbc694dfcadf
[INFO] running `Command { std: "docker" "start" "-a" "22bd9e43bcccd77734241e96514b7bcd24ff803a9a913506b3a2fbc694dfcadf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22bd9e43bcccd77734241e96514b7bcd24ff803a9a913506b3a2fbc694dfcadf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22bd9e43bcccd77734241e96514b7bcd24ff803a9a913506b3a2fbc694dfcadf", kill_on_drop: false }`
[INFO] [stdout] 22bd9e43bcccd77734241e96514b7bcd24ff803a9a913506b3a2fbc694dfcadf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0e32f2a91ec9d296a047d9c4d11422e4fa2a3c7e9be807ab8271b201aaa13d9a
[INFO] running `Command { std: "docker" "start" "-a" "0e32f2a91ec9d296a047d9c4d11422e4fa2a3c7e9be807ab8271b201aaa13d9a", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking bounded_math v0.0.1 (/opt/rustwide/workdir/bounded_math)
[INFO] [stdout] error[E0635]: unknown feature `const_convert`
[INFO] [stdout]  --> bounded_math/src/lib.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | #![feature(const_convert)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_result_drop`
[INFO] [stdout]   --> bounded_math/src/lib.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | #![feature(const_result_drop)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/num.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait IntegerRange: Copy + ~const Into<i128> {
[INFO] [stdout]    |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<U0 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |       impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                       ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    | ---------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 | / impl_op! {Sub, sub |lhs, rhs| {
[INFO] [stdout] 43 | |   (lhs.start() - rhs.end())
[INFO] [stdout] 44 | |   ..=
[INFO] [stdout] 45 | |   (lhs.end() - rhs.start())
[INFO] [stdout] 46 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | / impl_op! {Mul, mul |lhs, rhs| {
[INFO] [stdout] 48 | |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 49 | |   ..=
[INFO] [stdout] 50 | |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 | / impl_op! {Div, div |lhs, rhs| {
[INFO] [stdout] 54 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to divide by Integer<0..=0>");
[INFO] [stdout] 55 | |   let effective_end = if *rhs.end() == 0 { -1 } else {*rhs.end()};
[INFO] [stdout] 56 | |   let effective_start = if *rhs.start() == 0 { 1 } else {*rhs.start() };
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |
[INFO] [stdout] 87 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 | / impl_op! {Rem, rem |lhs, rhs| {
[INFO] [stdout] 90 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to get remainder of division by Integer(0..=0)");
[INFO] [stdout] 91 | |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout] 92 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |   start..=end
[INFO] [stdout] 97 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:99:68
[INFO] [stdout]    |
[INFO] [stdout] 99 | const fn ranges_overlap<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>() -> bool {
[INFO] [stdout]    |                                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/impls.rs:106:49
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType> const PartialEq<RHS>
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/impls.rs:111:71
[INFO] [stdout]     |
[INFO] [stdout] 111 |     const fn must_be_equal<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>() -> bool {
[INFO] [stdout]     |                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/impls.rs:128:49
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType> const PartialOrd<RHS>
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]  --> bounded_math/src/num.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Integer<const RANGE: RangeType> {
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<const RANGE: RangeType> Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<const RANGE: RangeType, const VALUE: i128> ContainsRet<VALUE> for Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<const RANGE: RangeType, const VALUE: i128> ValInRange<VALUE> for Integer<RANGE> where
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:31:47
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait RangeInRange<const CONTAINED_RANGE: RangeType> {
[INFO] [stdout]    |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:34:46
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<T: IntegerRange, const CONTAINED_RANGE: RangeType> RangeInRange<CONTAINED_RANGE> for T {
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<const RANGE: RangeType> Debug for Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<const RANGE: RangeType> IsExact for Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl<const RANGE: RangeType> Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/num.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl<const RANGE_GEN: RangeType> const IntegerRange for Integer<RANGE_GEN> {
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/num.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl<const RANGE: RangeType> const From<Integer<RANGE>> for i128 {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/num.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<const RANGE: RangeType> const TryFrom<i128> for Integer<RANGE> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |   const RET: bool = RANGE.contains(&VALUE);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/num.rs:95:41
[INFO] [stdout]    |
[INFO] [stdout] 95 |   fn to<T: ~const IntegerRange + ~const TryFrom<i128>>(self) -> T
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/num.rs:107:45
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn try_to<T: ~const IntegerRange + ~const TryFrom<i128>>(self) -> Option<T>
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct IntRepr<const RANGE: RangeType>(<Self as SpecIntReprU0>::Repr);
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 |   type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 |   type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<const RANGE: RangeType> const IntRepresentation for IntRepr<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<const RANGE: RangeType> Debug for IntRepr<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<const RANGE: RangeType> Display for IntRepr<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:68:40
[INFO] [stdout]     |
[INFO] [stdout] 68  |         type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:68:63
[INFO] [stdout]     |
[INFO] [stdout] 68  |         type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:73:23
[INFO] [stdout]     |
[INFO] [stdout] 73  |       impl<const RANGE: RangeType> const $largest_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u64 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u32 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u16 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u8 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |           debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    | ---------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |           debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    | ---------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:41:33
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:41:63
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 | / impl_op! {Sub, sub |lhs, rhs| {
[INFO] [stdout] 43 | |   (lhs.start() - rhs.end())
[INFO] [stdout] 44 | |   ..=
[INFO] [stdout] 45 | |   (lhs.end() - rhs.start())
[INFO] [stdout] 46 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 | / impl_op! {Sub, sub |lhs, rhs| {
[INFO] [stdout] 43 | |   (lhs.start() - rhs.end())
[INFO] [stdout] 44 | |   ..=
[INFO] [stdout] 45 | |   (lhs.end() - rhs.start())
[INFO] [stdout] 46 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |   (lhs.start() - rhs.end())
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:45:3
[INFO] [stdout]    |
[INFO] [stdout] 45 |   (lhs.end() - rhs.start())
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | / impl_op! {Mul, mul |lhs, rhs| {
[INFO] [stdout] 48 | |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 49 | |   ..=
[INFO] [stdout] 50 | |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | / impl_op! {Mul, mul |lhs, rhs| {
[INFO] [stdout] 48 | |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 49 | |   ..=
[INFO] [stdout] 50 | |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:86
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:111
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:76
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:3
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:23
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:50
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:86
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:111
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:76
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 | / impl_op! {Div, div |lhs, rhs| {
[INFO] [stdout] 54 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to divide by Integer<0..=0>");
[INFO] [stdout] 55 | |   let effective_end = if *rhs.end() == 0 { -1 } else {*rhs.end()};
[INFO] [stdout] 56 | |   let effective_start = if *rhs.start() == 0 { 1 } else {*rhs.start() };
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |
[INFO] [stdout] 87 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 | / impl_op! {Div, div |lhs, rhs| {
[INFO] [stdout] 54 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to divide by Integer<0..=0>");
[INFO] [stdout] 55 | |   let effective_end = if *rhs.end() == 0 { -1 } else {*rhs.end()};
[INFO] [stdout] 56 | |   let effective_start = if *rhs.start() == 0 { 1 } else {*rhs.start() };
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |
[INFO] [stdout] 87 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |   let mut min = val1.min(val2);
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |   let mut max = val1.max(val2);
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |   min = min.min(val1.min(val2));
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |   min = min.min(val1.min(val2));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:68:22
[INFO] [stdout]    |
[INFO] [stdout] 68 |   max = max.max(val1.max(val2));
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |   max = max.max(val1.max(val2));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:70:34
[INFO] [stdout]    |
[INFO] [stdout] 70 |   if effective_start != 1 && rhs.contains(&1) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:75:24
[INFO] [stdout]    |
[INFO] [stdout] 75 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:77:33
[INFO] [stdout]    |
[INFO] [stdout] 77 |   if effective_end != -1 && rhs.contains(&-1) {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 | / impl_op! {Rem, rem |lhs, rhs| {
[INFO] [stdout] 90 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to get remainder of division by Integer(0..=0)");
[INFO] [stdout] 91 | |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout] 92 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |   start..=end
[INFO] [stdout] 97 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 | / impl_op! {Rem, rem |lhs, rhs| {
[INFO] [stdout] 90 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to get remainder of division by Integer(0..=0)");
[INFO] [stdout] 91 | |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout] 92 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |   start..=end
[INFO] [stdout] 97 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:91:35
[INFO] [stdout]    |
[INFO] [stdout] 91 |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:100:42
[INFO] [stdout]     |
[INFO] [stdout] 100 |   let lhs_contains_rhs_start = LHS_RANGE.contains(RHS::RANGE.start());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |   let lhs_contains_rhs_end = LHS_RANGE.contains(RHS::RANGE.end());
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:102:43
[INFO] [stdout]     |
[INFO] [stdout] 102 |   let rhs_contains_lhs_start = RHS::RANGE.contains(LHS_RANGE.start());
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let lhs_exact = LHS_RANGE.start() == LHS_RANGE.end();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let lhs_exact = *LHS_RANGE.start() == *LHS_RANGE.end();
[INFO] [stdout]     |                       +                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let rhs_exact = RHS::RANGE.start() == RHS::RANGE.end();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let rhs_exact = *RHS::RANGE.start() == *RHS::RANGE.end();
[INFO] [stdout]     |                       +                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:114:24
[INFO] [stdout]     |
[INFO] [stdout] 114 |       let same_start = LHS_RANGE.start() == RHS::RANGE.start();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 114 |       let same_start = *LHS_RANGE.start() == *RHS::RANGE.start();
[INFO] [stdout]     |                        +                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Integer<RANGE> as TryFrom<i128>>::try_from` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub const MIN: Self = Self::try_from(*RANGE.start()).ok().unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Result::<Integer<RANGE>, ()>::ok` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:14:56
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub const MIN: Self = Self::try_from(*RANGE.start()).ok().unwrap();
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Integer<RANGE> as TryFrom<i128>>::try_from` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub const MAX: Self = Self::try_from(*RANGE.end()).ok().unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Result::<Integer<RANGE>, ()>::ok` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:15:54
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub const MAX: Self = Self::try_from(*RANGE.end()).ok().unwrap();
[INFO] [stdout]    |                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     T::RANGE.contains(CONTAINED_RANGE.start()) && T::RANGE.contains(CONTAINED_RANGE.end());
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:36:60
[INFO] [stdout]    |
[INFO] [stdout] 36 |     T::RANGE.contains(CONTAINED_RANGE.start()) && T::RANGE.contains(CONTAINED_RANGE.end());
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |   const EXACT: bool = RANGE.start() == RANGE.end();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]    |
[INFO] [stdout] 54 |   const EXACT: bool = *RANGE.start() == *RANGE.end();
[INFO] [stdout]    |                       +                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<IntRepr<RANGE> as IntRepresentation>::from_i128_unchecked` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |       val: unsafe { IntRepr::<RANGE>::from_i128_unchecked(VALUE) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<IntRepr<RANGE> as IntRepresentation>::from_i128_unchecked` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |       val: unsafe { IntRepr::<RANGE>::from_i128_unchecked(*RANGE.start()) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as IntegerRange>::get_value` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as TryInto<Integer<{ Self::RANGE }>>>::try_into` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as IntegerRange>::get_value` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as TryInto<T>>::try_into` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:100:36
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `Result<T, <T as TryFrom<i128>>::Error>` cannot be evaluated at compile-time
[INFO] [stdout]    --> bounded_math/src/num.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the destructor for this type cannot be evaluated in constant functions
[INFO] [stdout] 101 |       unreachable!()
[INFO] [stdout] 102 |     };
[INFO] [stdout]     |      - value is dropped here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:111:20
[INFO] [stdout]     |
[INFO] [stdout] 111 |     if Self::RANGE.contains(T::RANGE.start()) && Self::RANGE.contains(T::RANGE.end())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:111:62
[INFO] [stdout]     |
[INFO] [stdout] 111 |     if Self::RANGE.contains(T::RANGE.start()) && Self::RANGE.contains(T::RANGE.end())
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as Into<i128>>::into` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |       || Self::RANGE.contains(&self.into())
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:112:22
[INFO] [stdout]     |
[INFO] [stdout] 112 |       || Self::RANGE.contains(&self.into())
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as IntegerRange>::get_value` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as TryInto<T>>::try_into` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Result::<T, <T as TryFrom<i128>>::Error>::ok` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:40
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: `?` cannot determine the branch of `Option<T>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/option.rs:2475:1
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: `?` cannot convert from residual of `Option<T>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/option.rs:2494:1
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 135 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0493, E0635, E0741.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_num_from_num`
[INFO] [stdout]   --> bounded_math/src/lib.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(test, feature(test, const_num_from_num))]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bounded_math` (lib) due to 136 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0635]: unknown feature `const_convert`
[INFO] [stdout]  --> bounded_math/src/lib.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | #![feature(const_convert)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_result_drop`
[INFO] [stdout]   --> bounded_math/src/lib.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | #![feature(const_result_drop)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/num.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait IntegerRange: Copy + ~const Into<i128> {
[INFO] [stdout]    |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<U0 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |       impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                       ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    | ---------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 | / impl_op! {Sub, sub |lhs, rhs| {
[INFO] [stdout] 43 | |   (lhs.start() - rhs.end())
[INFO] [stdout] 44 | |   ..=
[INFO] [stdout] 45 | |   (lhs.end() - rhs.start())
[INFO] [stdout] 46 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | / impl_op! {Mul, mul |lhs, rhs| {
[INFO] [stdout] 48 | |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 49 | |   ..=
[INFO] [stdout] 50 | |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 | / impl_op! {Div, div |lhs, rhs| {
[INFO] [stdout] 54 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to divide by Integer<0..=0>");
[INFO] [stdout] 55 | |   let effective_end = if *rhs.end() == 0 { -1 } else {*rhs.end()};
[INFO] [stdout] 56 | |   let effective_start = if *rhs.start() == 0 { 1 } else {*rhs.start() };
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |
[INFO] [stdout] 87 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 | / impl_op! {Rem, rem |lhs, rhs| {
[INFO] [stdout] 90 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to get remainder of division by Integer(0..=0)");
[INFO] [stdout] 91 | |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout] 92 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |   start..=end
[INFO] [stdout] 97 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/impls.rs:99:68
[INFO] [stdout]    |
[INFO] [stdout] 99 | const fn ranges_overlap<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>() -> bool {
[INFO] [stdout]    |                                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/impls.rs:106:49
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType> const PartialEq<RHS>
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/impls.rs:111:71
[INFO] [stdout]     |
[INFO] [stdout] 111 |     const fn must_be_equal<RHS: ~const IntegerRange, const LHS_RANGE: RangeType>() -> bool {
[INFO] [stdout]     |                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/impls.rs:128:49
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl<RHS: ~const IntegerRange, const LHS_RANGE: RangeType> const PartialOrd<RHS>
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]  --> bounded_math/src/num.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Integer<const RANGE: RangeType> {
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<const RANGE: RangeType> Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl<const RANGE: RangeType, const VALUE: i128> ContainsRet<VALUE> for Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<const RANGE: RangeType, const VALUE: i128> ValInRange<VALUE> for Integer<RANGE> where
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:31:47
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait RangeInRange<const CONTAINED_RANGE: RangeType> {
[INFO] [stdout]    |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:34:46
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<T: IntegerRange, const CONTAINED_RANGE: RangeType> RangeInRange<CONTAINED_RANGE> for T {
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<const RANGE: RangeType> Debug for Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<const RANGE: RangeType> IsExact for Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/num.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl<const RANGE: RangeType> Integer<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/num.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl<const RANGE_GEN: RangeType> const IntegerRange for Integer<RANGE_GEN> {
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/num.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl<const RANGE: RangeType> const From<Integer<RANGE>> for i128 {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/num.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl<const RANGE: RangeType> const TryFrom<i128> for Integer<RANGE> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |   const RET: bool = RANGE.contains(&VALUE);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/num.rs:95:41
[INFO] [stdout]    |
[INFO] [stdout] 95 |   fn to<T: ~const IntegerRange + ~const TryFrom<i128>>(self) -> T
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/num.rs:107:45
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn try_to<T: ~const IntegerRange + ~const TryFrom<i128>>(self) -> Option<T>
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct IntRepr<const RANGE: RangeType>(<Self as SpecIntReprU0>::Repr);
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 |   type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 |   type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<const RANGE: RangeType> const IntRepresentation for IntRepr<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<const RANGE: RangeType> Debug for IntRepr<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]   --> bounded_math/src/inner_rep.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<const RANGE: RangeType> Display for IntRepr<RANGE> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:68:40
[INFO] [stdout]     |
[INFO] [stdout] 68  |         type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:68:63
[INFO] [stdout]     |
[INFO] [stdout] 68  |         type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:73:23
[INFO] [stdout]     |
[INFO] [stdout] 73  |       impl<const RANGE: RangeType> const $largest_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u64 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u32 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u16 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<u8 as Into<u128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:90:42
[INFO] [stdout]     |
[INFO] [stdout] 90  |         const RET: bool = VAL <= Self::MAX.into();
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:42
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `~const` can only be applied to `#[const_trait]` traits
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:87:65
[INFO] [stdout]     |
[INFO] [stdout] 87  |           type Repr: Clone + Copy + ~const TryFrom<u128> + ~const Into<u128>;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:93:23
[INFO] [stdout]     |
[INFO] [stdout] 93  |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE>
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0741]: `RangeInclusive<i128>` must implement `ConstParamTy` to be used as the type of a const generic parameter
[INFO] [stdout]    --> bounded_math/src/inner_rep.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       impl<const RANGE: RangeType> const $cur_prim_tr for IntRepr<RANGE> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 | / repr_spec!(
[INFO] [stdout] 113 | |   IntRepresentation,
[INFO] [stdout] 114 | |   (
[INFO] [stdout] 115 | |     (u128, SpecIntReprU128),
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |   )
[INFO] [stdout] 122 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `repr_spec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |           debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    | ---------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |           debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    | ---------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:41:33
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:41:63
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl_op! {Add, add |lhs, rhs| { (lhs.start() + rhs.start())..=(lhs.end() + rhs.end()) }}
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 | / impl_op! {Sub, sub |lhs, rhs| {
[INFO] [stdout] 43 | |   (lhs.start() - rhs.end())
[INFO] [stdout] 44 | |   ..=
[INFO] [stdout] 45 | |   (lhs.end() - rhs.start())
[INFO] [stdout] 46 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 | / impl_op! {Sub, sub |lhs, rhs| {
[INFO] [stdout] 43 | |   (lhs.start() - rhs.end())
[INFO] [stdout] 44 | |   ..=
[INFO] [stdout] 45 | |   (lhs.end() - rhs.start())
[INFO] [stdout] 46 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 |   (lhs.start() - rhs.end())
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:45:3
[INFO] [stdout]    |
[INFO] [stdout] 45 |   (lhs.end() - rhs.start())
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | / impl_op! {Mul, mul |lhs, rhs| {
[INFO] [stdout] 48 | |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 49 | |   ..=
[INFO] [stdout] 50 | |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | / impl_op! {Mul, mul |lhs, rhs| {
[INFO] [stdout] 48 | |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 49 | |   ..=
[INFO] [stdout] 50 | |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:86
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:111
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:76
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:48:3
[INFO] [stdout]    |
[INFO] [stdout] 48 |   i128::min(i128::min(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::min(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:23
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:50
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:86
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:111
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:76
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:50:3
[INFO] [stdout]    |
[INFO] [stdout] 50 |   i128::max(i128::max(lhs.start() * rhs.start(), lhs.start() * rhs.end()), i128::max(lhs.end() * rhs.start(), lhs.end() * rhs.end()))
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 | / impl_op! {Div, div |lhs, rhs| {
[INFO] [stdout] 54 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to divide by Integer<0..=0>");
[INFO] [stdout] 55 | |   let effective_end = if *rhs.end() == 0 { -1 } else {*rhs.end()};
[INFO] [stdout] 56 | |   let effective_start = if *rhs.start() == 0 { 1 } else {*rhs.start() };
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |
[INFO] [stdout] 87 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 | / impl_op! {Div, div |lhs, rhs| {
[INFO] [stdout] 54 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to divide by Integer<0..=0>");
[INFO] [stdout] 55 | |   let effective_end = if *rhs.end() == 0 { -1 } else {*rhs.end()};
[INFO] [stdout] 56 | |   let effective_start = if *rhs.start() == 0 { 1 } else {*rhs.start() };
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |
[INFO] [stdout] 87 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |   let mut min = val1.min(val2);
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |   let mut max = val1.max(val2);
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |   min = min.min(val1.min(val2));
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |   min = min.min(val1.min(val2));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:68:22
[INFO] [stdout]    |
[INFO] [stdout] 68 |   max = max.max(val1.max(val2));
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |   max = max.max(val1.max(val2));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:70:34
[INFO] [stdout]    |
[INFO] [stdout] 70 |   if effective_start != 1 && rhs.contains(&1) {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:75:24
[INFO] [stdout]    |
[INFO] [stdout] 75 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:77:33
[INFO] [stdout]    |
[INFO] [stdout] 77 |   if effective_end != -1 && rhs.contains(&-1) {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::min` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |     min = min.min(val1.min(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     max = max.max(val1.max(val2));
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 | / impl_op! {Rem, rem |lhs, rhs| {
[INFO] [stdout] 90 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to get remainder of division by Integer(0..=0)");
[INFO] [stdout] 91 | |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout] 92 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |   start..=end
[INFO] [stdout] 97 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::is_empty` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:17:61
[INFO] [stdout]    |
[INFO] [stdout] 17 |             debug_assert!(!$lhs_name.is_empty() && !$rhs_name.is_empty()); // Guaranteed by the type system
[INFO] [stdout]    |                                                               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 | / impl_op! {Rem, rem |lhs, rhs| {
[INFO] [stdout] 90 | |   assert!(!(*rhs.start() == 0 && *rhs.end() == 0), "tried to get remainder of division by Integer(0..=0)");
[INFO] [stdout] 91 | |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout] 92 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |   start..=end
[INFO] [stdout] 97 | | }}
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: this error originates in the macro `impl_op` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as Ord>::max` in constant functions
[INFO] [stdout]   --> bounded_math/src/impls.rs:91:35
[INFO] [stdout]    |
[INFO] [stdout] 91 |   let eff_rhs = rhs.start().abs().max(rhs.end().abs());
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i16 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:140:40
[INFO] [stdout]     |
[INFO] [stdout] 140 |     mem::size_of::<Integer<{ (i16::MIN.into())..=(i16::MAX.into()) }>>(),
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i16 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:140:60
[INFO] [stdout]     |
[INFO] [stdout] 140 |     mem::size_of::<Integer<{ (i16::MIN.into())..=(i16::MAX.into()) }>>(),
[INFO] [stdout]     |                                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i32 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:144:40
[INFO] [stdout]     |
[INFO] [stdout] 144 |     mem::size_of::<Integer<{ (i32::MIN.into())..=(i32::MAX.into()) }>>(),
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i32 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:144:60
[INFO] [stdout]     |
[INFO] [stdout] 144 |     mem::size_of::<Integer<{ (i32::MIN.into())..=(i32::MAX.into()) }>>(),
[INFO] [stdout]     |                                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i64 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:148:40
[INFO] [stdout]     |
[INFO] [stdout] 148 |     mem::size_of::<Integer<{ (i64::MIN.into())..=(i64::MAX.into()) }>>(),
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i64 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:148:60
[INFO] [stdout]     |
[INFO] [stdout] 148 |     mem::size_of::<Integer<{ (i64::MIN.into())..=(i64::MAX.into()) }>>(),
[INFO] [stdout]     |                                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i16 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:154:40
[INFO] [stdout]     |
[INFO] [stdout] 154 |     mem::size_of::<Integer<{ (i16::MIN.into())..=(i128::from(i16::MIN) + i128::from(u8::MAX)) }>>(),
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as From<i16>>::from` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:154:51
[INFO] [stdout]     |
[INFO] [stdout] 154 |     mem::size_of::<Integer<{ (i16::MIN.into())..=(i128::from(i16::MIN) + i128::from(u8::MAX)) }>>(),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as From<u8>>::from` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:154:74
[INFO] [stdout]     |
[INFO] [stdout] 154 |     mem::size_of::<Integer<{ (i16::MIN.into())..=(i128::from(i16::MIN) + i128::from(u8::MAX)) }>>(),
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i16 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:159:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |     mem::size_of::<Integer<{ (i16::MIN.into())..=(i16::MIN.into()) }>>(),
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i16 as Into<i128>>::into` in constants
[INFO] [stdout]    --> bounded_math/src/test.rs:159:60
[INFO] [stdout]     |
[INFO] [stdout] 159 |     mem::size_of::<Integer<{ (i16::MIN.into())..=(i16::MIN.into()) }>>(),
[INFO] [stdout]     |                                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |   const EXACT: bool = RANGE.start() == RANGE.end();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]    |
[INFO] [stdout] 54 |   const EXACT: bool = *RANGE.start() == *RANGE.end();
[INFO] [stdout]    |                       +                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:100:42
[INFO] [stdout]     |
[INFO] [stdout] 100 |   let lhs_contains_rhs_start = LHS_RANGE.contains(RHS::RANGE.start());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |   let lhs_contains_rhs_end = LHS_RANGE.contains(RHS::RANGE.end());
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:102:43
[INFO] [stdout]     |
[INFO] [stdout] 102 |   let rhs_contains_lhs_start = RHS::RANGE.contains(LHS_RANGE.start());
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let lhs_exact = LHS_RANGE.start() == LHS_RANGE.end();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let lhs_exact = *LHS_RANGE.start() == *LHS_RANGE.end();
[INFO] [stdout]     |                       +                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let rhs_exact = RHS::RANGE.start() == RHS::RANGE.end();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let rhs_exact = *RHS::RANGE.start() == *RHS::RANGE.end();
[INFO] [stdout]     |                       +                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const operator in constant functions
[INFO] [stdout]    --> bounded_math/src/impls.rs:114:24
[INFO] [stdout]     |
[INFO] [stdout] 114 |       let same_start = LHS_RANGE.start() == RHS::RANGE.start();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 114 |       let same_start = *LHS_RANGE.start() == *RHS::RANGE.start();
[INFO] [stdout]     |                        +                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Integer<RANGE> as TryFrom<i128>>::try_from` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub const MIN: Self = Self::try_from(*RANGE.start()).ok().unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Result::<Integer<RANGE>, ()>::ok` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:14:56
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub const MIN: Self = Self::try_from(*RANGE.start()).ok().unwrap();
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Integer<RANGE> as TryFrom<i128>>::try_from` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub const MAX: Self = Self::try_from(*RANGE.end()).ok().unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Result::<Integer<RANGE>, ()>::ok` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:15:54
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub const MAX: Self = Self::try_from(*RANGE.end()).ok().unwrap();
[INFO] [stdout]    |                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |     T::RANGE.contains(CONTAINED_RANGE.start()) && T::RANGE.contains(CONTAINED_RANGE.end());
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constants
[INFO] [stdout]   --> bounded_math/src/num.rs:36:60
[INFO] [stdout]    |
[INFO] [stdout] 36 |     T::RANGE.contains(CONTAINED_RANGE.start()) && T::RANGE.contains(CONTAINED_RANGE.end());
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<IntRepr<RANGE> as IntRepresentation>::from_i128_unchecked` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |       val: unsafe { IntRepr::<RANGE>::from_i128_unchecked(VALUE) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<IntRepr<RANGE> as IntRepresentation>::from_i128_unchecked` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |       val: unsafe { IntRepr::<RANGE>::from_i128_unchecked(*RANGE.start()) },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as IntegerRange>::get_value` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as TryInto<Integer<{ Self::RANGE }>>>::try_into` in constant functions
[INFO] [stdout]   --> bounded_math/src/num.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as IntegerRange>::get_value` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as TryInto<T>>::try_into` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:100:36
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `Result<T, <T as TryFrom<i128>>::Error>` cannot be evaluated at compile-time
[INFO] [stdout]    --> bounded_math/src/num.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let Ok(ret) = self.get_value().try_into() else {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the destructor for this type cannot be evaluated in constant functions
[INFO] [stdout] 101 |       unreachable!()
[INFO] [stdout] 102 |     };
[INFO] [stdout]     |      - value is dropped here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:111:20
[INFO] [stdout]     |
[INFO] [stdout] 111 |     if Self::RANGE.contains(T::RANGE.start()) && Self::RANGE.contains(T::RANGE.end())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:111:62
[INFO] [stdout]     |
[INFO] [stdout] 111 |     if Self::RANGE.contains(T::RANGE.start()) && Self::RANGE.contains(T::RANGE.end())
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as Into<i128>>::into` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |       || Self::RANGE.contains(&self.into())
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `RangeInclusive::<i128>::contains::<i128>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:112:22
[INFO] [stdout]     |
[INFO] [stdout] 112 |       || Self::RANGE.contains(&self.into())
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<Self as IntegerRange>::get_value` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `<i128 as TryInto<T>>::try_into` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Result::<T, <T as TryFrom<i128>>::Error>::ok` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:40
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: `?` cannot determine the branch of `Option<T>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/option.rs:2475:1
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: `?` cannot convert from residual of `Option<T>` in constant functions
[INFO] [stdout]    --> bounded_math/src/num.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |       Some(self.get_value().try_into().ok()?)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/option.rs:2494:1
[INFO] [stdout]     = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = help: add `#![feature(effects)]` to the crate attributes to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 147 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0493, E0635, E0741.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bounded_math` (lib test) due to 148 previous errors
[INFO] running `Command { std: "docker" "inspect" "0e32f2a91ec9d296a047d9c4d11422e4fa2a3c7e9be807ab8271b201aaa13d9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e32f2a91ec9d296a047d9c4d11422e4fa2a3c7e9be807ab8271b201aaa13d9a", kill_on_drop: false }`
[INFO] [stdout] 0e32f2a91ec9d296a047d9c4d11422e4fa2a3c7e9be807ab8271b201aaa13d9a
