diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/language-feature/types/optional-ifoo.slang | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/language-feature/types/optional-ifoo.slang b/tests/language-feature/types/optional-ifoo.slang new file mode 100644 index 000000000..d2c9b6a50 --- /dev/null +++ b/tests/language-feature/types/optional-ifoo.slang @@ -0,0 +1,26 @@ +//TEST:INTERPRET(filecheck=CHECK): + +interface IFoo +{ + int get_result(); +} + +struct FooImpl : IFoo +{ + int get_result() { return data; } + int data; +} + +Optional<IFoo> generate_foo(int i) +{ + FooImpl result = {}; + result.data = i; + return { result }; +} + +void main() +{ + // CHECK: hasValue: 1 + let result_foo = generate_foo(100); + printf("hasValue: %d\n", (int)result_foo.hasValue); +} |
