Files
bun-src/test/bundler/transpiler/react-compiler-fixtures/error.invalid-mutate-after-aliased-freeze.expect.md
2026-08-27 21:09:14 +00:00

796 B

Input

function Component(props) {
  let x = [];
  let y = x;

  if (props.p1) {
    x = [];
  }

  let _ = <Component x={x} />;

  // y is MaybeFrozen at this point, since it may alias to x
  // (which is the above line freezes)
  y.push(props.p2);

  return <Component x={x} y={y} />;
}

Error

Found 1 error:

Error: This value cannot be modified

Modifying a value used previously in JSX is not allowed. Consider moving the modification before the JSX.

error.invalid-mutate-after-aliased-freeze.ts:13:2
  11 |   // y is MaybeFrozen at this point, since it may alias to x
  12 |   // (which is the above line freezes)
> 13 |   y.push(props.p2);
     |   ^ value cannot be modified
  14 |
  15 |   return <Component x={x} y={y} />;
  16 | }