Explorer: assert Optional not empty on Get() (#2587)

Prevent from unwrapping an empty Optional
This commit is contained in:
Adrien Leravat
2023-02-09 22:39:43 -08:00
committed by GitHub
parent b2c60b4f53
commit 266fa401e6
2 changed files with 41 additions and 21 deletions
@@ -0,0 +1,15 @@
// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
// NOAUTOUPDATE
// RUN: %{not} %{explorer-run}
// RUN: %{not} %{explorer-run-trace}
package ExplorerTest api;
fn Main() -> i32{
var x: Optional(i32) = Optional(i32).CreateEmpty();
// CHECK:STDERR: RUNTIME ERROR: {{.*}}/explorer/data/prelude.carbon:{{.*}}: "Attempted to unwrap empty Optional"
return x.Get();
}