git.iko.soy/rowtype-yoga/purescript-backend-optimizer
on main help sign in
rowtype-yoga/purescript-backend-optimizer/backend-es/test-snapshots/src/Snapshot.InlineReferencePrimOpBoolean.purs
55 lines 943 B history raw
1-- @inline export fn never
2module Snapshot.InlineReferencePrimOpBoolean where
4import Prelude
6fn :: forall r. r -> Int
7fn _ = 0
9test1 :: Int
10test1 = do
11 let rec = { a: { b: { c: true } }, d: fn {}, e: true, f: false }
12 if rec.a.b.c && rec.e then
13 42
14 else
15 fn rec
17test2 :: Int
18test2 = do
19 let rec = { a: { b: { c: true } }, d: fn {}, e: true, f: false }
20 if rec.f || rec.a.b.c then
21 42
22 else
23 fn rec
25test3 :: Int
26test3 = do
27 let rec = { a: { b: { c: true } }, d: fn {}, e: true, f: false }
28 if not rec.a.b.c then
29 fn rec
30 else
31 42
33extern1 :: { a :: { b :: { c :: Boolean } }, d :: Int, e :: Boolean, f :: Boolean }
34extern1 = { a: { b: { c: true } }, d: fn {}, e: true, f: false }
36test4 :: Int
37test4 =
38 if extern1.a.b.c && extern1.e then
39 42
40 else
41 99
43test5 :: Int
44test5 =
45 if extern1.f || extern1.a.b.c then
46 42
47 else
48 99
50test6 :: Int
51test6 =
52 if not extern1.a.b.c then
53 99
54 else
55 42