realworldocaml / mdx

Execute code blocks inside your documentation
ISC License
265 stars 45 forks source link

generated output, after dune promote, can cause mdx to fail #408

Open gregsgit opened 1 year ago

gregsgit commented 1 year ago

(lang dune 3.6) (using mdx 0.3) 1> dune runtest ;; succeeds 2> dune promote 3> dune runtest ;; fails with [mdx] Fatal error: Failure("File \"\", line 182, characters 52-53:\nParagraph should begin on its own line.")

Attached is transcript. Search for "dune runtest" and see second one fail. Also attached are pre-promotion and post-promotion versions of the .mli source file.

mdx_session.log whisk_api.mli_postmdx.txt whisk_api.mli_orig.txt

gregsgit commented 1 year ago

May be complaining about the semicolon right before "OneOfEffects" in:

val effspec1 : EffectSpec.t =
          SeqOfEffects
           [AtAddr
             {Whisk_api.EffectSpec.addr = 12345;
              val_constrs =
               [{expr1 = ValExpr (RegRef "r2");
                 expr2 =
                  BinopExpr
                   {Whisk_api.Expr.op = "+"; op1 = ValExpr (RegRef "SP");
                    op2 = ValExpr (Immediate 64)}}]};
            OneOfEffects
             [FunCall {Whisk_api.EffectSpec.fun_name = "db_query"; val_constrs = []};
              SysCall
               {Whisk_api.EffectSpec.syscall_name = "fprintf"; val_constrs = []}]]
Leonidas-from-XIV commented 1 year ago

Hi @gregsgit! This should not be happening, to correct something into something it cannot parse.

Do you have a repo to reproduce it on (preferably with a commit-hash)?