Skip to content
This repository was archived by the owner on Jul 27, 2022. It is now read-only.
This repository was archived by the owner on Jul 27, 2022. It is now read-only.

Problem: upgrade to fixed 1.6.0 fails compiling tests on CI #2495

@tomtau

Description

@tomtau

2766	error[E0658]: `match` is not allowed in a `const fn`
2767	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1011:25
2768	     |
2769	1011 | /                         match self.to_bits().checked_abs() {
2770	1012 | |                             None => None,
2771	1013 | |                             Some(bits) => Some(Self::from_bits(bits)),
2772	1014 | |                         }
2773	     | |_________________________^
2774	     | 
2775	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2776	     |
2777	570  | / fixed! {
2778	571  | |     "A 128-bit fixed-point signed",
2779	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2780	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2781	...    |
2782	580  | |     FixedI128, i128, False
2783	581  | | }
2784	     | |_- in this macro invocation
2785	     |
2786	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2787	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2788	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2789	
2790	error[E0658]: `match` is not allowed in a `const fn`
2791	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1079:29
2792	     |
2793	1079 | / ...                   match self.overflowing_neg() {
2794	1080 | | ...                       (val, false) => val,
2795	1081 | | ...                       (_, true) => Self::MAX,
2796	1082 | | ...                   }
2797	     | |_______________________^
2798	     | 
2799	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2800	     |
2801	570  | / fixed! {
2802	571  | |     "A 128-bit fixed-point signed",
2803	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2804	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2805	...    |
2806	580  | |     FixedI128, i128, False
2807	581  | | }
2808	     | |_- in this macro invocation
2809	     |
2810	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2811	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2812	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2813	
2814	error[E0658]: `match` is not allowed in a `const fn`
2815	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1103:21
2816	     |
2817	1103 | /                     match self.overflowing_add(rhs) {
2818	1104 | |                         (val, false) => val,
2819	1105 | |                         (_, true) => if_signed_unsigned! {
2820	1106 | |                             $Signedness,
2821	...    |
2822	1109 | |                         },
2823	1110 | |                     }
2824	     | |_____________________^
2825	     | 
2826	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2827	     |
2828	570  | / fixed! {
2829	571  | |     "A 128-bit fixed-point signed",
2830	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2831	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2832	...    |
2833	580  | |     FixedI128, i128, False
2834	581  | | }
2835	     | |_- in this macro invocation
2836	     |
2837	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2838	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2839	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2840	
2841	error[E0658]: `if` is not allowed in a `const fn`
2842	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1107:29
2843	     |
2844	1107 |   ...                   if self.is_negative() { Self::MIN } else { Self::MAX },
2845	     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2846	     | 
2847	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2848	     |
2849	570  | / fixed! {
2850	571  | |     "A 128-bit fixed-point signed",
2851	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2852	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2853	...    |
2854	580  | |     FixedI128, i128, False
2855	581  | | }
2856	     | |_- in this macro invocation
2857	     |
2858	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2859	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2860	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2861	
2862	error[E0658]: `match` is not allowed in a `const fn`
2863	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1135:21
2864	     |
2865	1135 | /                     match self.overflowing_sub(rhs) {
2866	1136 | |                         (val, false) => val,
2867	1137 | |                         (_, true) => if_signed_unsigned! {
2868	1138 | |                             $Signedness,
2869	...    |
2870	1145 | |                         },
2871	1146 | |                     }
2872	     | |_____________________^
2873	     | 
2874	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2875	     |
2876	570  | / fixed! {
2877	571  | |     "A 128-bit fixed-point signed",
2878	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2879	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2880	...    |
2881	580  | |     FixedI128, i128, False
2882	581  | | }
2883	     | |_- in this macro invocation
2884	     |
2885	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2886	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2887	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2888	
2889	error[E0658]: `if` is not allowed in a `const fn`
2890	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1139:29
2891	     |
2892	1139 | / ...                   if self.to_bits() < rhs.to_bits() {
2893	1140 | | ...                       Self::MIN
2894	1141 | | ...                   } else {
2895	1142 | | ...                       Self::MAX
2896	1143 | | ...                   },
2897	     | |_______________________^
2898	     | 
2899	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2900	     |
2901	570  | / fixed! {
2902	571  | |     "A 128-bit fixed-point signed",
2903	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2904	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2905	...    |
2906	580  | |     FixedI128, i128, False
2907	581  | | }
2908	     | |_- in this macro invocation
2909	     |
2910	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2911	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2912	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2913	
2914	error[E0658]: `match` is not allowed in a `const fn`
2915	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1230:21
2916	     |
2917	1230 | /                     match self.overflowing_mul_int(rhs) {
2918	1231 | |                         (val, false) => val,
2919	1232 | |                         (_, true) => if_signed_unsigned! {
2920	1233 | |                             $Signedness,
2921	...    |
2922	1240 | |                         },
2923	1241 | |                     }
2924	     | |_____________________^
2925	     | 
2926	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2927	     |
2928	570  | / fixed! {
2929	571  | |     "A 128-bit fixed-point signed",
2930	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2931	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2932	...    |
2933	580  | |     FixedI128, i128, False
2934	581  | | }
2935	     | |_- in this macro invocation
2936	     |
2937	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2938	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2939	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2940	
2941	error[E0658]: `if` is not allowed in a `const fn`
2942	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1234:29
2943	     |
2944	1234 | / ...                   if self.is_negative() != rhs.is_negative() {
2945	1235 | | ...                       Self::MIN
2946	1236 | | ...                   } else {
2947	1237 | | ...                       Self::MAX
2948	1238 | | ...                   },
2949	     | |_______________________^
2950	     | 
2951	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2952	     |
2953	570  | / fixed! {
2954	571  | |     "A 128-bit fixed-point signed",
2955	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2956	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2957	...    |
2958	580  | |     FixedI128, i128, False
2959	581  | | }
2960	     | |_- in this macro invocation
2961	     |
2962	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2963	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2964	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2965	
2966	error[E0658]: `match` is not allowed in a `const fn`
2967	    --> /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/macros_no_frac.rs:1263:25
2968	     |
2969	1263 | /                         match self.overflowing_abs() {
2970	1264 | |                             (val, false) => val,
2971	1265 | |                             (_, true) => Self::MAX,
2972	1266 | |                         }
2973	     | |_________________________^
2974	     | 
2975	    ::: /drone/src/drone/cargo/registry/src/github.com-1ecc6299db9ec823/fixed-1.6.0/src/lib.rs:570:1
2976	     |
2977	570  | / fixed! {
2978	571  | |     "A 128-bit fixed-point signed",
2979	572  | |     FixedI128(i128, LeEqU128, "128", "127", "126", "125", "124"),
2980	573  | |     16, "0x1234_5678_9ABC_DEF0_1234_5678_9ABC_DEF0",
2981	...    |
2982	580  | |     FixedI128, i128, False
2983	581  | | }
2984	     | |_- in this macro invocation
2985	     |
2986	     = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
2987	     = help: add `#![feature(const_if_match)]` to the crate attributes to enable
2988	     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
2989	
2990	   Compiling fixed-hash v0.6.1
2991	   Compiling impl-serde v0.3.1
2992	   Compiling criterion-plot v0.4.3
2993	   Compiling rayon v1.3.0
2994	   Compiling tinytemplate v1.1.0
2995	   Compiling csv v1.1.3
2996	   Compiling ethbloom v0.9.2
2997	   Compiling cro-clib v0.6.0 (/drone/src/cro-clib)
2998	   Compiling enclave-utils v0.6.0 (/drone/src/chain-tx-enclave-next/enclave-utils)
2999	   Compiling mls v0.6.0 (/drone/src/chain-tx-enclave-next/mls)
3000	   Compiling criterion v0.3.4
3001	error: aborting due to 120 previous errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions