component-fences.ts:5:7 - error SC2009: values of type 'Map<boolean, string>' cannot be compiled: the Map shape is supported, but keys are limited to numbers and strings — 'boolean' is outside that domain

  4 | // Map keys are limited to numbers and strings.
  5 | const byFlag = new Map<boolean, string>();
    |       ^~~~~~
  6 | console.log(byFlag);

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:5:16 - error SC1090: Map keys of type 'boolean' (Map keys must be string or number) is not supported yet

  4 | // Map keys are limited to numbers and strings.
  5 | const byFlag = new Map<boolean, string>();
    |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
  6 | console.log(byFlag);

component-fences.ts:6:13 - error SC2004: uses of 'byFlag' inherit the blocker on its declaration

  5 | const byFlag = new Map<boolean, string>();
  6 | console.log(byFlag);
    |             ^~~~~~
  7 | 

  hint: the declaration of 'byFlag' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:9:7 - error SC2009: values of type 'Map<string, () => void>' cannot be compiled: the Map shape is supported, but '() => void' values have no Map slot yet (functions, promises, and nested Maps stay out)

   8 | // Map values have no slot for functions.
   9 | const listeners = new Map<string, () => void>();
     |       ^~~~~~~~~
  10 | console.log(listeners);

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:9:19 - error SC1090: Map values of type '() => void' (Map values must be number, string, boolean, records, class instances, arrays, promises, or unions of those — not functions, Maps, 'unknown', or 'any') is not supported yet

   8 | // Map values have no slot for functions.
   9 | const listeners = new Map<string, () => void>();
     |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  10 | console.log(listeners);

component-fences.ts:10:13 - error SC2004: uses of 'listeners' inherit the blocker on its declaration

   9 | const listeners = new Map<string, () => void>();
  10 | console.log(listeners);
     |             ^~~~~~~~~
  11 | 

  hint: the declaration of 'listeners' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:13:7 - error SC2009: values of type 'Set<boolean>' cannot be compiled: the Set shape is supported, but elements are limited to numbers and strings — 'boolean' is outside that domain

  12 | // Set elements are limited to numbers and strings.
  13 | const flags = new Set<boolean>();
     |       ^~~~~
  14 | console.log(flags);

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:13:15 - error SC1090: Set elements of type 'boolean' (Set elements must be string or number — Map's key kinds — or a server handle, which stores under reference identity) is not supported yet

  12 | // Set elements are limited to numbers and strings.
  13 | const flags = new Set<boolean>();
     |               ^~~~~~~~~~~~~~~~~~
  14 | console.log(flags);

component-fences.ts:14:13 - error SC2004: uses of 'flags' inherit the blocker on its declaration

  13 | const flags = new Set<boolean>();
  14 | console.log(flags);
     |             ^~~~~
  15 | 

  hint: the declaration of 'flags' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:17:7 - error SC2009: values of type 'Map<string, number>[]' cannot be compiled: the array shape is supported, but 'Map<string, number>' elements have no array representation yet

  16 | // Arrays cannot hold Map elements yet.
  17 | const rows: Map<string, number>[] = [];
     |       ^~~~
  18 | console.log(rows);

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:18:13 - error SC2004: uses of 'rows' inherit the blocker on its declaration

  17 | const rows: Map<string, number>[] = [];
  18 | console.log(rows);
     |             ^~~~
  19 | 

  hint: the declaration of 'rows' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:21:17 - error SC2009: values of type 'Map<string, number> | undefined' cannot be compiled: the union shape is supported, but 'Map<string, number>' arms have no home in a compiled union yet (no runtime narrowing test exists against sibling arms)

  20 | // A Map arm has no home in a compiled union.
  21 | function report(maybe: Map<string, number> | undefined): number {
     |                 ^~~~~
  22 |   return maybe === undefined ? 0 : maybe.size;

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:24:13 - error SC2004: uses of 'report' inherit the blocker on its declaration

  23 | }
  24 | console.log(report(undefined));
     |             ^~~~~~
  25 | 

  hint: the declaration of 'report' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:35:7 - error SC2009: values of type '() => WeakMap<object, number>' cannot be compiled: the function shape is supported, but its return type 'WeakMap<object, number>' does not compile

  34 | // Node's ReferenceError at the root instead).
  35 | const makeWeak = (0 as unknown) as () => WeakMap<object, number>;
     |       ^~~~~~~~
  36 | const storedMake = makeWeak;

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:36:7 - error SC2009: values of type '() => WeakMap<object, number>' cannot be compiled: the function shape is supported, but its return type 'WeakMap<object, number>' does not compile

  35 | const makeWeak = (0 as unknown) as () => WeakMap<object, number>;
  36 | const storedMake = makeWeak;
     |       ^~~~~~~~~~
  37 | console.log(storedMake());

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:36:20 - error SC2004: uses of 'makeWeak' inherit the blocker on its declaration

  35 | const makeWeak = (0 as unknown) as () => WeakMap<object, number>;
  36 | const storedMake = makeWeak;
     |                    ^~~~~~~~
  37 | console.log(storedMake());

  hint: the declaration of 'makeWeak' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:37:13 - error SC2004: uses of 'storedMake' inherit the blocker on its declaration

  36 | const storedMake = makeWeak;
  37 | console.log(storedMake());
     |             ^~~~~~~~~~
  38 | 

  hint: the declaration of 'storedMake' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:44:7 - error SC2009: values of type 'Holder' cannot be compiled: the record shape is supported, but its member 'cache' has type 'WeakMap<object, number>', which does not compile

  43 | }
  44 | const held = (0 as unknown) as Holder;
     |       ^~~~
  45 | const kept = held;

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:45:7 - error SC2009: values of type 'Holder' cannot be compiled: the record shape is supported, but its member 'cache' has type 'WeakMap<object, number>', which does not compile

  44 | const held = (0 as unknown) as Holder;
  45 | const kept = held;
     |       ^~~~
  46 | console.log(kept.label);

  hint: the outer shape is supported — the named component is the blocker; restate it inside the compilable set (number, string, boolean, arrays, Maps, Sets, RegExp, functions, classes, records, unions of those, and 'unknown')

component-fences.ts:45:14 - error SC2004: uses of 'held' inherit the blocker on its declaration

  44 | const held = (0 as unknown) as Holder;
  45 | const kept = held;
     |              ^~~~
  46 | console.log(kept.label);

  hint: the declaration of 'held' did not compile — fix the diagnostic reported there and these sites clear with it

component-fences.ts:46:13 - error SC2004: uses of 'kept' inherit the blocker on its declaration

  45 | const kept = held;
  46 | console.log(kept.label);
     |             ^~~~~~~~~~
  47 | 

  hint: the declaration of 'kept' did not compile — fix the diagnostic reported there and these sites clear with it