lean4-htt/tests/lean/sanitychecks.lean
Leonardo de Moura 3b259afaf0 chore: fix tests
2022-06-14 16:43:22 -07:00

31 lines
792 B
Text

theorem unsound : False := -- Error
unsound
partial theorem unsound2 : False := -- Error
unsound2
unsafe theorem unsound3 : False := -- Error
unsound3
opaque unsound4 : False -- Error
axiom magic : False -- OK
namespace Foo
partial def foo (x : Nat) : Nat := foo x -- OK
unsafe def unsound2 : False := unsound -- OK
partial def unsound3 : False := unsound3 -- Error
partial def unsound4 (x : Unit) : False := unsound4 () -- Error
partial def badcast1 (x : Nat) : Bool :=
unsafeCast x -- Error: partial cannot use unsafe constant
partial def badcast2 (x : Nat) : Bool :=
if x == 0 then unsafeCast x -- Error: partial cannot use unsafe constant
else badcast2 (x + 1)
unsafe def badcast3 (x : Nat) : Bool := -- OK
if x == 0 then unsafeCast x
else badcast3 (x + 1)