This PR makes `#guard_msgs` to treat `trace` messages separate from `info`, `warning` and `error`. It also introduce the ability to say `#guard_msgs (pass info`, like `(drop info)` so far, and also adds `(check info)` as the explicit form of `(info)`, for completeness. Fixes #8266
24 lines
507 B
Text
24 lines
507 B
Text
import Lean
|
|
|
|
set_option compiler.enableNew true
|
|
|
|
/--
|
|
trace: [Compiler.result] size: 1
|
|
def f x : Nat :=
|
|
let _x.1 := Nat.add x x;
|
|
return _x.1
|
|
-/
|
|
#guard_msgs in
|
|
set_option trace.Compiler.result true in
|
|
opaque f : Nat → Nat :=
|
|
fun x => Nat.add x x
|
|
|
|
/--
|
|
trace: [Compiler.result] size: 0
|
|
def g a._@.opaqueNewCodeGen._hyg.1 a._@.opaqueNewCodeGen._hyg.2 : Nat :=
|
|
extern
|
|
-/
|
|
#guard_msgs in
|
|
set_option trace.Compiler.result true in
|
|
@[extern "lean_nat_gcd"]
|
|
opaque g : Nat → Nat → Nat
|