Error: [4032]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:97:25 ]
    │
 97 │   let r : Result[Image, DecodeError] = try? decode(get_fixture())
    │                         ─────┬─────  
    │                              ╰─────── The type DecodeError is undefined.
────╯
Error: [4024]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:99:9 ]
    │
 99 │     Err(DecodeError::UnsupportedFormat(_)) => assert_true(true)
    │         ─────┬─────  
    │              ╰─────── The type/trait DecodeError is not found.
────╯
Error: [4032]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:107:25 ]
     │
 107 │   let r : Result[Image, DecodeError] = try? decode(get_fixture())
     │                         ─────┬─────  
     │                              ╰─────── The type DecodeError is undefined.
─────╯
Error: [4024]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:109:9 ]
     │
 109 │     Err(DecodeError::InvalidHeader(_)) => assert_true(true)
     │         ─────┬─────  
     │              ╰─────── The type/trait DecodeError is not found.
─────╯
Error: [4032]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:124:25 ]
     │
 124 │   let r : Result[Bytes, DecodeError] = try? encode(img, ImageFormat::PNG)
     │                         ─────┬─────  
     │                              ╰─────── The type DecodeError is undefined.
─────╯
Error: [4036]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:124:57 ]
     │
 124 │   let r : Result[Bytes, DecodeError] = try? encode(img, ImageFormat::PNG)
     │                                                         ────────┬───────  
     │                                                                 ╰───────── Cannot create values of the read-only type: PNG.
─────╯
Error: [4024]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:126:9 ]
     │
 126 │     Err(DecodeError::EncodeNotImplemented(_)) => assert_true(true)
     │         ─────┬─────  
     │              ╰─────── The type/trait DecodeError is not found.
─────╯
Error: [4036]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:141:27 ]
     │
 141 │   let bytes = encode(img, ImageFormat::BMP) catch {
     │                           ────────┬───────  
     │                                   ╰───────── Cannot create values of the read-only type: BMP.
─────╯
Error: [4036]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:158:27 ]
     │
 158 │   let bytes = encode(img, ImageFormat::QOI) catch {
     │                           ────────┬───────  
     │                                   ╰───────── Cannot create values of the read-only type: QOI.
─────╯
Error: [4051]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:197:4 ]
     │
 197 │ fn to_bytes(raw : Array[Int]) -> Bytes {
     │    ────┬───  
     │        ╰───── The toplevel identifier to_bytes is declared twice: it was previously defined at D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\lib_test.mbt:48:4.
─────╯
Warning: [0071]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:17:15 ]
    │
 17 │ let fixture : @ref.Ref[Bytes] = @ref.new(b"")
    │               ───────┬───────  
    │                      ╰───────── Warning (core_package_not_imported): Package `ref` from `moonbitlang/core/` is used without import. This is deprecated. Please add it to the imports in the moon.pkg file.
────╯
Warning: [0071]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:17:33 ]
    │
 17 │ let fixture : @ref.Ref[Bytes] = @ref.new(b"")
    │                                 ────┬───  
    │                                     ╰───── Warning (core_package_not_imported): Package `ref` from `moonbitlang/core/` is used without import. This is deprecated. Please add it to the imports in the moon.pkg file.
────╯
Warning: [0020]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:97:40 ]
    │
 97 │   let r : Result[Image, DecodeError] = try? decode(get_fixture())
    │                                        ──┬─  
    │                                          ╰─── Warning (deprecated): `try?` is deprecated.

  Do not mechanically replace this with `try expr |> Ok catch { e => Err(e) }`; that still creates a local `Result` wrapper and usually misses theintended migration.
  Only create `Ok`/`Err` when the `Result` value must escape this local expression: stored, returned, passed to a Result-taking API, or kept for later comparison as data.

  Migration in inspect-based tests:
  1. If the expected behavior is success, remove `try?` and run the raising expression directly:

    inspect(expr, content=...)

  2. If the expected behavior is an error, replace `try?` with `try ... catch ... noraise`:

    try expr catch {
      e => inspect(e, content=...)
    } noraise {
      _ => fail("expected expr to raise")
    }

────╯
Warning: [0020]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:107:40 ]
     │
 107 │   let r : Result[Image, DecodeError] = try? decode(get_fixture())
     │                                        ──┬─  
     │                                          ╰─── Warning (deprecated): `try?` is deprecated.

  Do not mechanically replace this with `try expr |> Ok catch { e => Err(e) }`; that still creates a local `Result` wrapper and usually misses theintended migration.
  Only create `Ok`/`Err` when the `Result` value must escape this local expression: stored, returned, passed to a Result-taking API, or kept for later comparison as data.

  Migration in inspect-based tests:
  1. If the expected behavior is success, remove `try?` and run the raising expression directly:

    inspect(expr, content=...)

  2. If the expected behavior is an error, replace `try?` with `try ... catch ... noraise`:

    try expr catch {
      e => inspect(e, content=...)
    } noraise {
      _ => fail("expected expr to raise")
    }

─────╯
Warning: [0020]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\gherkin_test.mbt:124:40 ]
     │
 124 │   let r : Result[Bytes, DecodeError] = try? encode(img, ImageFormat::PNG)
     │                                        ──┬─  
     │                                          ╰─── Warning (deprecated): `try?` is deprecated.

  Do not mechanically replace this with `try expr |> Ok catch { e => Err(e) }`; that still creates a local `Result` wrapper and usually misses theintended migration.
  Only create `Ok`/`Err` when the `Result` value must escape this local expression: stored, returned, passed to a Result-taking API, or kept for later comparison as data.

  Migration in inspect-based tests:
  1. If the expected behavior is success, remove `try?` and run the raising expression directly:

    inspect(expr, content=...)

  2. If the expected behavior is an error, replace `try?` with `try ... catch ... noraise`:

    try expr catch {
      e => inspect(e, content=...)
    } noraise {
      _ => fail("expected expr to raise")
    }

─────╯
Warning: [0001]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\extensions\image\lib_test.mbt:48:4 ]
    │
 48 │ fn to_bytes(ints : Array[Int]) -> Bytes {
    │    ────┬───  
    │        ╰───── Warning (unused_value): Unused function 'to_bytes'
────╯
