Error: [4069]
Warning: [0020]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\blackbox_test.mbt:101:44 ]
     │
 101 │   let bogus : Result[Image, DecodeError] = try? decode(b"definitely not an image")
     │                                            ──┬─  
     │                                              ╰─── 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\staging-moonbit-image\blackbox_test.mbt:111:50 ]
     │
 111 │   let corrupt_bmp : Result[Image, DecodeError] = try? decode(
     │                                                  ──┬─  
     │                                                    ╰─── 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")
    }

─────╯
Error: [4018]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\blackbox_test.mbt:126:61 ]
     │
 126 │   check("image_dimensions(PNG) returns (16, 11, PNG)", dims == (16, 11, ImageFormat::PNG))
     │                                                             ─┬  
     │                                                              ╰── Type @riantr/moonbit_image.ImageFormat does not implement trait Eq: no `impl` is defined
  note: this constraint is required by `impl` of Eq for type Tuple3 at moonbitlang\core\builtin\tuple_eq.mbt:24:1
─────╯
Error: [4036]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\blackbox_test.mbt:126:73 ]
     │
 126 │   check("image_dimensions(PNG) returns (16, 11, PNG)", dims == (16, 11, ImageFormat::PNG))
     │                                                                         ────────┬───────  
     │                                                                                 ╰───────── Cannot create values of the read-only type: PNG.
─────╯
Warning: [0020]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\lib.mbt:149:14 ]
     │
 149 │       match (try? decode_by_format_raw(data, format)) {
     │              ──┬─  
     │                ╰─── 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\staging-moonbit-image\lib.mbt:164:10 ]
     │
 164 │   match (try? decode_by_format_raw(data, format)) {
     │          ──┬─  
     │            ╰─── 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\staging-moonbit-image\lib.mbt:201:14 ]
     │
 201 │       match (try? image_dimensions_raw(data, format)) {
     │              ──┬─  
     │                ╰─── 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\staging-moonbit-image\lib.mbt:341:14 ]
     │
 341 │       match (try? encode_bmp(img)) {
     │              ──┬─  
     │                ╰─── 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\staging-moonbit-image\lib.mbt:346:14 ]
     │
 346 │       match (try? encode_qoi(img)) {
     │              ──┬─  
     │                ╰─── 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\staging-moonbit-image\lib_test.mbt:148:44 ]
     │
 148 │   let bogus : Result[Image, DecodeError] = try? decode(b"definitely not an image")
     │                                            ──┬─  
     │                                              ╰─── 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\staging-moonbit-image\lib_test.mbt:158:40 ]
     │
 158 │   let r : Result[Image, DecodeError] = try? decode(
     │                                        ──┬─  
     │                                          ╰─── 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")
    }

─────╯
Error: [4015]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\lib_test.mbt:163:50 ]
     │
 163 │     Err(other) => fail("wrong variant: " + other.to_string())
     │                                                  ────┬────  
     │                                                      ╰────── Type @riantr/moonbit_image.DecodeError has no method to_string.
─────╯
Error: [4015]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\lib_test.mbt:176:47 ]
     │
 176 │     e => fail("image_dimensions raised: " + e.to_string())
     │                                               ────┬────  
     │                                                   ╰────── Type @riantr/moonbit_image.DecodeError has no method to_string.
─────╯
Error: [4018]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\lib_test.mbt:178:3 ]
     │
 178 │   assert_eq(dims, (16, 11, ImageFormat::PNG))
     │   ────┬────  
     │       ╰────── Type @riantr/moonbit_image.ImageFormat does not implement trait @moonbitlang/core/debug.Debug: no `impl` is defined
  note: this constraint is required by `impl` of @moonbitlang/core/debug.Debug for type Tuple3 at moonbitlang\core\debug\tuple_debug.mbt:22:1
─────╯
Error: [4018]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\lib_test.mbt:178:3 ]
     │
 178 │   assert_eq(dims, (16, 11, ImageFormat::PNG))
     │   ────┬────  
     │       ╰────── Type @riantr/moonbit_image.ImageFormat does not implement trait Eq: no `impl` is defined
  note: this constraint is required by `impl` of Eq for type Tuple3 at moonbitlang\core\builtin\tuple_eq.mbt:24:1
─────╯
Error: [4036]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\lib_test.mbt:178:28 ]
     │
 178 │   assert_eq(dims, (16, 11, ImageFormat::PNG))
     │                            ────────┬───────  
     │                                    ╰───────── Cannot create values of the read-only type: PNG.
─────╯
Warning: [0002]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\tiff.mbt:147:7 ]
     │
 147 │ const TAG_ROWS_PER_STRIP : Int = 278
     │       ─────────┬────────  
     │                ╰────────── Warning (unused_value): Unused variable 'TAG_ROWS_PER_STRIP'
─────╯
Warning: [0007]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\tiff.mbt:166:3 ]
     │
 166 │   typ : Int
     │   ─┬─  
     │    ╰─── Warning (unused_field): Field 'typ' is never read
─────╯
Warning: [0007]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\tiff.mbt:167:3 ]
     │
 167 │   count : Int
     │   ──┬──  
     │     ╰──── Warning (unused_field): Field 'count' is never read
─────╯
Warning: [0051]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\tiff.mbt:222:36 ]
     │
 222 │         1 | 2 => base >> (pos * 8) & 0xFF
     │                                    ┬  
     │                                    ╰── Warning (ambiguous_precedence): Operator `>>` and `&` are ambiguous, add parenthesis to disambiguate.
─────╯
Warning: [0051]
     ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\tiff.mbt:223:36 ]
     │
 223 │         3 => base >> (pos * 2 * 8) & 0xFFFF
     │                                    ┬  
     │                                    ╰── Warning (ambiguous_precedence): Operator `>>` and `&` are ambiguous, add parenthesis to disambiguate.
─────╯
Warning: [0006]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\types.mbt:36:3 ]
    │
 36 │   ICO
    │   ─┬─  
    │    ╰─── Warning (unused_constructor): Variant 'ICO' is never constructed
────╯
Warning: [0006]
    ╭─[ D:\src\MiniMax\Projects\MoonBit\moonbit-labeler\staging-moonbit-image\types.mbt:38:3 ]
    │
 38 │   TIFF
    │   ──┬─  
    │     ╰─── Warning (unused_constructor): Variant 'TIFF' is never constructed
────╯
Failed with 16 warnings, 8 errors.
Error: failed to run check for target Native

Caused by:
    failed when checking project
