mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-03 00:24:34 +00:00
Add deriving of immediates for the Hash ability
This commit is contained in:
parent
7bd6523175
commit
427528e659
7 changed files with 134 additions and 0 deletions
25
crates/compiler/test_derive/src/hash.rs
Normal file
25
crates/compiler/test_derive/src/hash.rs
Normal file
|
@ -0,0 +1,25 @@
|
|||
#![cfg(test)]
|
||||
// Even with #[allow(non_snake_case)] on individual idents, rust-analyzer issues diagnostics.
|
||||
// See https://github.com/rust-lang/rust-analyzer/issues/6541.
|
||||
// For the `v!` macro we use uppercase variables when constructing tag unions.
|
||||
#![allow(non_snake_case)]
|
||||
|
||||
use crate::{util::check_immediate, v};
|
||||
use roc_module::symbol::Symbol;
|
||||
use roc_types::subs::Variable;
|
||||
|
||||
use roc_derive_key::DeriveBuiltin::Hash;
|
||||
|
||||
#[test]
|
||||
fn immediates() {
|
||||
check_immediate(Hash, v!(U8), Symbol::HASH_ADD_U8);
|
||||
check_immediate(Hash, v!(U16), Symbol::HASH_ADD_U16);
|
||||
check_immediate(Hash, v!(U32), Symbol::HASH_ADD_U32);
|
||||
check_immediate(Hash, v!(U64), Symbol::HASH_ADD_U64);
|
||||
check_immediate(Hash, v!(U128), Symbol::HASH_ADD_U128);
|
||||
check_immediate(Hash, v!(I8), Symbol::HASH_ADD_I8);
|
||||
check_immediate(Hash, v!(I16), Symbol::HASH_ADD_I16);
|
||||
check_immediate(Hash, v!(I32), Symbol::HASH_ADD_I32);
|
||||
check_immediate(Hash, v!(I64), Symbol::HASH_ADD_I64);
|
||||
check_immediate(Hash, v!(I128), Symbol::HASH_ADD_I128);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue