v2 / vlib / v / tests / options / option_reference_of_option_test.v
23 lines · 18 sloc · 369 bytes · c2c7fbb7d48015245a39f186a464129e61fd898b
Raw
1fn test_reference_of_option_preserves_payload() {
2 opt := ?int(-1)
3 ref_opt := &opt
4
5 assert *ref_opt? == opt?
6}
7
8fn test_reference_of_option_preserves_none() {
9 opt := ?int(none)
10 ref_opt := &opt
11
12 assert ref_opt == none
13}
14
15fn test_reference_of_option_updates_original_payload() {
16 mut opt := ?int(1)
17 ref_opt := &opt
18
19 unsafe {
20 *ref_opt? = 2
21 }
22 assert opt? == 2
23}
24