mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
`#assert` is a new static assertion statement that will let us write tests for the new constant evaluation infrastructure that we are working on. `#assert` works by lowering to a `Builtin.poundAssert` SIL instruction. The constant evaluation infrastructure will look for these SIL instructions, const-evaluate their conditions, and emit errors if the conditions are non-constant or false. This commit implements parsing, typechecking and SILGen for `#assert`.
9 lines
351 B
Swift
9 lines
351 B
Swift
// RUN: %target-swift-frontend -enable-experimental-static-assert -emit-silgen %s | %target-sil-opt -irgen-prepare | %FileCheck %s
|
|
|
|
// Tests that mandatory SIL passes remove the builtin poundAssert instruction.
|
|
// CHECK-LABEL: pound_assert_removed14builtinRemoved
|
|
public func builtinRemoved() {
|
|
#assert(true)
|
|
// CHECK-NOT: builtin "poundAssert"
|
|
}
|