Num * can't be derived for encoding, but concrete numbers can be

This commit is contained in:
Ayaz Hafiz 2022-07-13 11:23:15 -04:00
parent 7b23077265
commit 2e20441157
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58

View file

@ -553,28 +553,34 @@ impl ObligationCache<'_> {
} }
Erroneous(_) => return Err(var), Erroneous(_) => return Err(var),
}, },
#[rustfmt::skip]
Alias( Alias(
Symbol::NUM_U8 Symbol::NUM_U8 | Symbol::NUM_UNSIGNED8
| Symbol::NUM_U16 | Symbol::NUM_U16 | Symbol::NUM_UNSIGNED16
| Symbol::NUM_U32 | Symbol::NUM_U32 | Symbol::NUM_UNSIGNED32
| Symbol::NUM_U64 | Symbol::NUM_U64 | Symbol::NUM_UNSIGNED64
| Symbol::NUM_U128 | Symbol::NUM_U128 | Symbol::NUM_UNSIGNED128
| Symbol::NUM_I8 | Symbol::NUM_I8 | Symbol::NUM_SIGNED8
| Symbol::NUM_I16 | Symbol::NUM_I16 | Symbol::NUM_SIGNED16
| Symbol::NUM_I32 | Symbol::NUM_I32 | Symbol::NUM_SIGNED32
| Symbol::NUM_I64 | Symbol::NUM_I64 | Symbol::NUM_SIGNED64
| Symbol::NUM_I128 | Symbol::NUM_I128 | Symbol::NUM_SIGNED128
| Symbol::NUM_NAT | Symbol::NUM_NAT | Symbol::NUM_NATURAL
| Symbol::NUM_F32 | Symbol::NUM_F32 | Symbol::NUM_BINARY32
| Symbol::NUM_F64 | Symbol::NUM_F64 | Symbol::NUM_BINARY64
| Symbol::NUM_DEC | Symbol::NUM_DEC | Symbol::NUM_DECIMAL,
| Symbol::NUM_NUM,
_, _,
_, _,
_, _,
) => { ) => {
// yes // yes
} }
Alias(
Symbol::NUM_NUM | Symbol::NUM_INTEGER | Symbol::NUM_FLOATINGPOINT,
_,
real_var,
_,
) => stack.push(*real_var),
Alias(name, _, _, AliasKind::Opaque) => { Alias(name, _, _, AliasKind::Opaque) => {
let opaque = *name; let opaque = *name;
if self if self