roc-lang / roc

A fast, friendly, functional language.
https://roc-lang.org
Universal Permissive License v1.0
3.86k stars 284 forks source link

Another compiler bug #6825

Closed fwgreen closed 5 days ago

fwgreen commented 1 week ago

roc nightly pre-release, built from commit 5d09479fd36 on Fri Jun 14 09:11:54 UTC 2024

app [main] {
    pf: platform "https://github.com/roc-lang/basic-cli/releases/download/0.10.0/vNe6s9hWzoTZtFmNkvEICPErI9ptji_ySjicO6CkucY.tar.br",
}

import pf.Stdout

main =
    dbg bug []

    Stdout.line! "Done"

bug : List a -> List a 
bug = \list ->
    when list is 
        [] | [_, .. as rest] if List.isEmpty rest -> list
        _ -> []

expect bug [] == []
RUST_BACKTRACE=full roc test
An internal compiler expectation was broken.
This is definitely a compiler bug.
Please file an issue here: https://github.com/roc-lang/roc/issues/new/choose
thread 'main' panicked at crates/compiler/mono/src/inc_dec.rs:293:21:
Expected symbol `17.IdentId(4)` to be in environment
stack backtrace:
   0:        0x1058cba04 - __mh_execute_header
   1:        0x104d0494c - __mh_execute_header
   2:        0x1058c79e8 - __mh_execute_header
   3:        0x1058cb7fc - __mh_execute_header
   4:        0x1058ccf18 - __mh_execute_header
   5:        0x1058ccc14 - __mh_execute_header
   6:        0x1058cd51c - __mh_execute_header
   7:        0x1058cd2f8 - __mh_execute_header
   8:        0x1058cbe9c - __mh_execute_header
   9:        0x1058cd08c - __mh_execute_header
  10:        0x106fa8c9c - __ZN4llvm15SmallVectorBaseIyE8grow_podEPvmm
  11:        0x10548dfb8 - __mh_execute_header
  12:        0x105421ee4 - __mh_execute_header
  13:        0x105493888 - __mh_execute_header
  14:        0x10549134c - __mh_execute_header
  15:        0x1054913c0 - __mh_execute_header
  16:        0x1054901e8 - __mh_execute_header
  17:        0x10549105c - __mh_execute_header
  18:        0x1054904bc - __mh_execute_header
  19:        0x10549105c - __mh_execute_header
  20:        0x1054913c0 - __mh_execute_header
  21:        0x10548d1a4 - __mh_execute_header
  22:        0x1053da400 - __mh_execute_header
  23:        0x1053cbf50 - __mh_execute_header
  24:        0x1053d2650 - __mh_execute_header
  25:        0x1053ca048 - __mh_execute_header
  26:        0x1053592c4 - __mh_execute_header
  27:        0x104ff44fc - __mh_execute_header
  28:        0x104ebfac0 - __mh_execute_header
  29:        0x104e9cb38 - __mh_execute_header
  30:        0x104e9cb5c - __mh_execute_header
  31:        0x1058bfaa0 - __mh_execute_header
  32:        0x104ec23f4 - __mh_execute_header
RUST_BACKTRACE=full roc dev
thread '<unnamed>' panicked at crates/compiler/mono/src/ir.rs:6143:56:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:        0x1037c3a04 - __mh_execute_header
   1:        0x102bfc94c - __mh_execute_header
   2:        0x1037bf9e8 - __mh_execute_header
   3:        0x1037c37fc - __mh_execute_header
   4:        0x1037c4f18 - __mh_execute_header
   5:        0x1037c4c14 - __mh_execute_header
   6:        0x1037c551c - __mh_execute_header
   7:        0x1037c52cc - __mh_execute_header
   8:        0x1037c3e9c - __mh_execute_header
   9:        0x1037c508c - __mh_execute_header
  10:        0x104ea0c9c - __ZN4llvm15SmallVectorBaseIyE8grow_podEPvmm
  11:        0x104ea0d24 - __ZN4llvm15SmallVectorBaseIyE8grow_podEPvmm
  12:        0x1033c3f88 - __mh_execute_header
  13:        0x1033ba0f4 - __mh_execute_header
  14:        0x1033cf578 - __mh_execute_header
  15:        0x1033b70f4 - __mh_execute_header
  16:        0x1033a749c - __mh_execute_header
  17:        0x1033bb4ac - __mh_execute_header
  18:        0x1033da15c - __mh_execute_header
  19:        0x1033da92c - __mh_execute_header
  20:        0x1033dbf5c - __mh_execute_header
  21:        0x1033ba120 - __mh_execute_header
  22:        0x1033da15c - __mh_execute_header
  23:        0x1033da92c - __mh_execute_header
  24:        0x1033dbf5c - __mh_execute_header
  25:        0x1033bb20c - __mh_execute_header
  26:        0x1033cf578 - __mh_execute_header
  27:        0x1033b70f4 - __mh_execute_header
  28:        0x1033a749c - __mh_execute_header
  29:        0x1033bb4ac - __mh_execute_header
  30:        0x1033da15c - __mh_execute_header
  31:        0x1033da92c - __mh_execute_header
  32:        0x1033dbf5c - __mh_execute_header
  33:        0x1033bb20c - __mh_execute_header
  34:        0x1033cf578 - __mh_execute_header
  35:        0x1033b70f4 - __mh_execute_header
  36:        0x1033b1dc8 - __mh_execute_header
  37:        0x1033b0000 - __mh_execute_header
  38:        0x1032ea71c - __mh_execute_header
  39:        0x10326fdc0 - __mh_execute_header
  40:        0x10325bfbc - __mh_execute_header
  41:        0x1032713f0 - __mh_execute_header
  42:        0x1037ca4e0 - __mh_execute_header
  43:        0x181b9af94 - __pthread_joiner_wake