Skip to content

Commit

Permalink
[4/n][enums] Move compiler enums tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tzakian committed Apr 19, 2024
1 parent 96fab27 commit 904f587
Show file tree
Hide file tree
Showing 51 changed files with 74 additions and 522 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
processed 3 tasks
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
//# init --edition development

//# publish

module 0x42::t {

public enum Exp has drop {
Done,
Add,
Mul,
Num(u64),
}

const EINVALIDEXP: u64 = 0;

public fun evaluate(mut expressions: vector<Exp>): u64 {
let mut stack = vector[];
while (!expressions.is_empty()) {
match (expressions.pop_back()) {
Exp::Done => break,
Exp::Add => {
let e1 = stack.pop_back();
let e2 = stack.pop_back();
stack.push_back(e1 + e2);
},
Exp::Mul => {
let e1 = stack.pop_back();
let e2 = stack.pop_back();
stack.push_back(e1 * e2);
},
Exp::Num(number) => {
stack.push_back(number);
}
}
};
let result = stack.pop_back();
assert!(expressions.is_empty(), EINVALIDEXP);
assert!(stack.is_empty(), EINVALIDEXP);
result
}

use fun evaluate as vector.evaluate;

public fun test() {
let input = vector[Exp::Done, Exp::Add, Exp::Num(5), Exp::Num(5)];
assert!(input.evaluate() == 10, 0);
}

}

//# run 0x42::t::test

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
error[E13003]: feature is under active development
┌─ tests/development/enums/hlir/dead_code_guard.move:3:17
3 │ public enum Option<T> has drop {
│ ^^^^^^ Enums are not supported in bytecode.
= This feature is currently in development.

warning[W09005]: dead or unreachable code
┌─ tests/development/enums/hlir/dead_code_guard.move:14:30
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit 904f587

Please sign in to comment.