@@ -3377,6 +3377,7 @@ impl AbiDecode for str {
33773377
33783378#[cfg(experimental_const_generics = true)]
33793379impl <const N : u64 > AbiDecode for str [N ] {
3380+ // see comments on `is_encode_trivial` for str[N] above
33803381 fn is_decode_trivial () -> bool {
33813382 false
33823383 }
@@ -5441,7 +5442,7 @@ where
54415442 A : AbiDecode ,
54425443{
54435444 fn is_decode_trivial () -> bool {
5444- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5445+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >()
54455446 }
54465447 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
54475448 (A :: abi_decode (buffer ), )
@@ -5453,7 +5454,7 @@ where
54535454 B : AbiDecode ,
54545455{
54555456 fn is_decode_trivial () -> bool {
5456- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5457+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >()
54575458 }
54585459 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
54595460 (A :: abi_decode (buffer ), B :: abi_decode (buffer ))
@@ -5466,7 +5467,7 @@ where
54665467 C : AbiDecode ,
54675468{
54685469 fn is_decode_trivial () -> bool {
5469- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5470+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >()
54705471 }
54715472 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
54725473 (A :: abi_decode (buffer ), B :: abi_decode (buffer ), C :: abi_decode (buffer ))
@@ -5480,7 +5481,7 @@ where
54805481 D : AbiDecode ,
54815482{
54825483 fn is_decode_trivial () -> bool {
5483- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5484+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >()
54845485 }
54855486 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
54865487 (
@@ -5500,7 +5501,7 @@ where
55005501 E : AbiDecode ,
55015502{
55025503 fn is_decode_trivial () -> bool {
5503- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5504+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >()
55045505 }
55055506 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
55065507 (
@@ -5522,7 +5523,7 @@ where
55225523 F : AbiDecode ,
55235524{
55245525 fn is_decode_trivial () -> bool {
5525- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5526+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >()
55265527 }
55275528 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
55285529 (
@@ -5546,7 +5547,7 @@ where
55465547 G : AbiDecode ,
55475548{
55485549 fn is_decode_trivial () -> bool {
5549- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5550+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >()
55505551 }
55515552 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
55525553 (
@@ -5572,7 +5573,7 @@ where
55725573 H : AbiDecode ,
55735574{
55745575 fn is_decode_trivial () -> bool {
5575- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5576+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >()
55765577 }
55775578 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
55785579 (
@@ -5600,7 +5601,7 @@ where
56005601 I : AbiDecode ,
56015602{
56025603 fn is_decode_trivial () -> bool {
5603- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5604+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >()
56045605 }
56055606 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
56065607 (
@@ -5630,7 +5631,7 @@ where
56305631 J : AbiDecode ,
56315632{
56325633 fn is_decode_trivial () -> bool {
5633- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5634+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >()
56345635 }
56355636 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
56365637 (
@@ -5662,7 +5663,7 @@ where
56625663 K : AbiDecode ,
56635664{
56645665 fn is_decode_trivial () -> bool {
5665- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5666+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >()
56665667 }
56675668 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
56685669 (
@@ -5696,7 +5697,7 @@ where
56965697 L : AbiDecode ,
56975698{
56985699 fn is_decode_trivial () -> bool {
5699- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5700+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >()
57005701 }
57015702 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
57025703 (
@@ -5732,7 +5733,7 @@ where
57325733 M : AbiDecode ,
57335734{
57345735 fn is_decode_trivial () -> bool {
5735- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5736+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >()
57365737 }
57375738 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
57385739 (
@@ -5770,7 +5771,7 @@ where
57705771 N : AbiDecode ,
57715772{
57725773 fn is_decode_trivial () -> bool {
5773- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5774+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >()
57745775 }
57755776 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
57765777 (
@@ -5810,7 +5811,7 @@ where
58105811 O : AbiDecode ,
58115812{
58125813 fn is_decode_trivial () -> bool {
5813- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5814+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >()
58145815 }
58155816 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
58165817 (
@@ -5852,7 +5853,7 @@ where
58525853 P : AbiDecode ,
58535854{
58545855 fn is_decode_trivial () -> bool {
5855- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5856+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >()
58565857 }
58575858 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
58585859 (
@@ -5896,7 +5897,7 @@ where
58965897 Q : AbiDecode ,
58975898{
58985899 fn is_decode_trivial () -> bool {
5899- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5900+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >()
59005901 }
59015902 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
59025903 (
@@ -5942,7 +5943,7 @@ where
59425943 R : AbiDecode ,
59435944{
59445945 fn is_decode_trivial () -> bool {
5945- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5946+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >()
59465947 }
59475948 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
59485949 (
@@ -5990,7 +5991,7 @@ where
59905991 S : AbiDecode ,
59915992{
59925993 fn is_decode_trivial () -> bool {
5993- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
5994+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >()
59945995 }
59955996 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
59965997 (
@@ -6040,7 +6041,7 @@ where
60406041 T : AbiDecode ,
60416042{
60426043 fn is_decode_trivial () -> bool {
6043- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
6044+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >() && is_decode_trivial :: < T >()
60446045 }
60456046 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
60466047 (
@@ -6092,7 +6093,7 @@ where
60926093 U : AbiDecode ,
60936094{
60946095 fn is_decode_trivial () -> bool {
6095- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
6096+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >() && is_decode_trivial :: < T >() && is_decode_trivial :: < U >()
60966097 }
60976098 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
60986099 (
@@ -6146,7 +6147,7 @@ where
61466147 V : AbiDecode ,
61476148{
61486149 fn is_decode_trivial () -> bool {
6149- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
6150+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >() && is_decode_trivial :: < T >() && is_decode_trivial :: < U >() && is_decode_trivial :: < V >()
61506151 }
61516152 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
61526153 (
@@ -6202,7 +6203,7 @@ where
62026203 W : AbiDecode ,
62036204{
62046205 fn is_decode_trivial () -> bool {
6205- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
6206+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >() && is_decode_trivial :: < T >() && is_decode_trivial :: < U >() && is_decode_trivial :: < V >() && is_decode_trivial :: < W >()
62066207 }
62076208 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
62086209 (
@@ -6260,7 +6261,7 @@ where
62606261 X : AbiDecode ,
62616262{
62626263 fn is_decode_trivial () -> bool {
6263- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
6264+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >() && is_decode_trivial :: < T >() && is_decode_trivial :: < U >() && is_decode_trivial :: < V >() && is_decode_trivial :: < W >() && is_decode_trivial :: < X >()
62646265 }
62656266 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
62666267 (
@@ -6320,7 +6321,7 @@ where
63206321 Y : AbiDecode ,
63216322{
63226323 fn is_decode_trivial () -> bool {
6323- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
6324+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >() && is_decode_trivial :: < T >() && is_decode_trivial :: < U >() && is_decode_trivial :: < V >() && is_decode_trivial :: < W >() && is_decode_trivial :: < X >() && is_decode_trivial :: < Y >()
63246325 }
63256326 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
63266327 (
@@ -6382,7 +6383,7 @@ where
63826383 Z : AbiDecode ,
63836384{
63846385 fn is_decode_trivial () -> bool {
6385- __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >()
6386+ __runtime_mem_id :: <Self >() == __encoding_mem_id :: <Self >() && is_decode_trivial :: < A >() && is_decode_trivial :: < B >() && is_decode_trivial :: < C >() && is_decode_trivial :: < D >() && is_decode_trivial :: < E >() && is_decode_trivial :: < F >() && is_decode_trivial :: < G >() && is_decode_trivial :: < H >() && is_decode_trivial :: < I >() && is_decode_trivial :: < J >() && is_decode_trivial :: < K >() && is_decode_trivial :: < L >() && is_decode_trivial :: < M >() && is_decode_trivial :: < N >() && is_decode_trivial :: < O >() && is_decode_trivial :: < P >() && is_decode_trivial :: < Q >() && is_decode_trivial :: < R >() && is_decode_trivial :: < S >() && is_decode_trivial :: < T >() && is_decode_trivial :: < U >() && is_decode_trivial :: < V >() && is_decode_trivial :: < W >() && is_decode_trivial :: < X >() && is_decode_trivial :: < Y >() && is_decode_trivial :: < Z >()
63866387 }
63876388 fn abi_decode (ref mut buffer : BufferReader ) -> Self {
63886389 (
0 commit comments