Graydon Hoare | ce72993 | 2011-06-15 18:19:50 | [diff] [blame^] | 1 | |
2 | |||||
3 | |||||
Brian Anderson | 1326d42 | 2011-04-02 23:32:34 | [diff] [blame] | 4 | // -*- rust -*- |
5 | |||||
6 | // Tests for alt as expressions resulting in structural types | ||||
Brian Anderson | 1326d42 | 2011-04-02 23:32:34 | [diff] [blame] | 7 | fn test_rec() { |
Graydon Hoare | ce72993 | 2011-06-15 18:19:50 | [diff] [blame^] | 8 | auto res = alt (true) { case (true) { rec(i=100) } }; |
9 | assert (res == rec(i=100)); | ||||
Brian Anderson | 1326d42 | 2011-04-02 23:32:34 | [diff] [blame] | 10 | } |
11 | |||||
12 | fn test_tag() { | ||||
Graydon Hoare | ce72993 | 2011-06-15 18:19:50 | [diff] [blame^] | 13 | tag mood { happy; sad; } |
14 | auto res = alt (true) { case (true) { happy } case (false) { sad } }; | ||||
15 | assert (res == happy); | ||||
Brian Anderson | 1326d42 | 2011-04-02 23:32:34 | [diff] [blame] | 16 | } |
17 | |||||
Graydon Hoare | ce72993 | 2011-06-15 18:19:50 | [diff] [blame^] | 18 | fn main() { test_rec(); test_tag(); } |