| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 
 | --- parse tree ---
[ Code
    "test/typ/bugs/math-realize-01.typ"
    ( line 1 , column 2 )
    (Let
       (BasicBind (Just (Identifier "test")))
       (FuncExpr
          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]
          (Block
             (CodeBlock
                [ If
                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))
                      , Block (Content [ Text "\9989" ])
                      )
                    , ( Literal (Boolean True)
                      , Block
                          (Content
                             [ Text "\10060"
                             , Text "("
                             , Code
                                 "test/typ/bugs/math-realize-01.typ"
                                 ( line 1 , column 47 )
                                 (FuncCall
                                    (Ident (Identifier "repr"))
                                    [ NormalArg (Ident (Identifier "x")) ])
                             , Space
                             , Text "/"
                             , Text "="
                             , Space
                             , Code
                                 "test/typ/bugs/math-realize-01.typ"
                                 ( line 1 , column 59 )
                                 (FuncCall
                                    (Ident (Identifier "repr"))
                                    [ NormalArg (Ident (Identifier "y")) ])
                             , Text ")"
                             ])
                      )
                    ]
                ]))))
, SoftBreak
, Equation
    True
    [ MAttach Nothing (Just (Text "2")) (Text "x")
    , Code
        "test/typ/bugs/math-realize-01.typ"
        ( line 2 , column 8 )
        (FuncCall
           (Ident (Identifier "hide"))
           [ BlockArg
               [ Equation
                   False
                   [ MGroup
                       (Just "(")
                       (Just ")")
                       [ Code
                           "test/typ/bugs/math-realize-01.typ"
                           ( line 2 , column 15 )
                           (FieldAccess (Ident (Identifier "eq")) (Ident (Identifier "gt")))
                       , Code
                           "test/typ/bugs/math-realize-01.typ"
                           ( line 2 , column 18 )
                           (FieldAccess (Ident (Identifier "alt")) (Ident (Identifier "phi")))
                       ]
                   , Code
                       "test/typ/bugs/math-realize-01.typ"
                       ( line 2 , column 27 )
                       (Ident (Identifier "union"))
                   , MAttach Nothing (Just (Text "2")) (Text "y")
                   , Text "0"
                   ]
               ]
           ])
    , MAttach Nothing (Just (Text "2")) (Text "z")
    ]
, SoftBreak
, Text "Hello"
, Space
, Code
    "test/typ/bugs/math-realize-01.typ"
    ( line 3 , column 8 )
    (FuncCall
       (Ident (Identifier "hide"))
       [ BlockArg [ Text "there" , Space , Equation False [ Text "x" ] ]
       ])
, SoftBreak
, Text "and"
, Space
, Code
    "test/typ/bugs/math-realize-01.typ"
    ( line 4 , column 6 )
    (FuncCall
       (Ident (Identifier "hide"))
       [ BlockArg
           [ Equation
               True
               [ MGroup
                   Nothing
                   Nothing
                   [ Text "f" , MGroup (Just "(") (Just ")") [ Text "x" ] ]
               , Code
                   "test/typ/bugs/math-realize-01.typ"
                   ( line 4 , column 18 )
                   (FieldAccess
                      (Ident (Identifier "eq")) (Ident (Identifier "colon")))
               , MAttach Nothing (Just (Text "2")) (Text "x")
               ]
           ]
       ])
, ParBreak
]
--- evaluated ---
document(body: { text(body: [
]), 
                 math.equation(block: true, 
                               body: { math.attach(b: none, 
                                                   base: text(body: [x]), 
                                                   t: text(body: [2])), 
                                       hide(body: math.equation(block: false, 
                                                                body: { math.lr(body: ({ [(], 
                                                                                         text(body: [≥]), 
                                                                                         text(body: [ϕ]), 
                                                                                         [)] })), 
                                                                        text(body: [∪]), 
                                                                        math.attach(b: none, 
                                                                                    base: text(body: [y]), 
                                                                                    t: text(body: [2])), 
                                                                        text(body: [0]) }, 
                                                                numbering: none)), 
                                       math.attach(b: none, 
                                                   base: text(body: [z]), 
                                                   t: text(body: [2])) }, 
                               numbering: none), 
                 text(body: [
Hello ]), 
                 hide(body: { text(body: [there ]), 
                              math.equation(block: false, 
                                            body: text(body: [x]), 
                                            numbering: none) }), 
                 text(body: [
and ]), 
                 hide(body: math.equation(block: true, 
                                          body: { text(body: [f]), 
                                                  math.lr(body: ({ [(], 
                                                                   text(body: [x]), 
                                                                   [)] })), 
                                                  text(body: [≔]), 
                                                  math.attach(b: none, 
                                                              base: text(body: [x]), 
                                                              t: text(body: [2])) }, 
                                          numbering: none)), 
                 parbreak() })
 |