thread-slots-fences.ts:19:43 - error SC1090: ThreadSlots names other than string literals are not supported yet

  18 | const name = "dynamic";
  19 | const named = new ThreadSlots<Key, State>(name);
     |                                           ^~~~
  20 | const first = new ThreadSlots<Key, State>("fences.shared");

  hint: name the slots with a string literal: every construction of the name opens the same slots

thread-slots-fences.ts:21:16 - error SC1090: opening ThreadSlots "fences.shared" with different type arguments than its first construction is not supported yet

  20 | const first = new ThreadSlots<Key, State>("fences.shared");
  21 | const second = new ThreadSlots<Key, Key>("fences.shared");
     |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22 | const shaped = new ThreadSlots<Shape, State>("fences.shaped");

  hint: every construction of one slots name must use the same key and value types

thread-slots-fences.ts:22:16 - error SC1090: 'Shape' as a ThreadSlots key type is not supported yet

  21 | const second = new ThreadSlots<Key, Key>("fences.shared");
  22 | const shaped = new ThreadSlots<Shape, State>("fences.shaped");
     |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23 | const callbacks = new ThreadSlots<Key, () => number>("fences.callbacks");

  hint: key the slots by instances of a class declared in the program

thread-slots-fences.ts:23:19 - error SC1090: '() => number' as a ThreadSlots value type is not supported yet

  22 | const shaped = new ThreadSlots<Shape, State>("fences.shaped");
  23 | const callbacks = new ThreadSlots<Key, () => number>("fences.callbacks");
     |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24 | function local(slots: ThreadSlots<Key, State>, key: Key): State | undefined {

  hint: store class instances, objects, arrays, Maps or Sets

thread-slots-fences.ts:25:10 - error SC1090: ThreadSlots calls through a value other than a module-level const is not supported yet

  24 | function local(slots: ThreadSlots<Key, State>, key: Key): State | undefined {
  25 |   return slots.get(key);
     |          ^~~~~
  26 | }

  hint: call the methods through `const slots = new ThreadSlots<K, V>("name")` declared at module scope

thread-slots-fences.ts:27:14 - error SC2020: 'ThreadSlots (@scriptc/experimental) as a value' is part of the standard library types but has no scriptc lowering yet

  26 | }
  27 | const ctor = ThreadSlots;
     |              ^~~~~~~~~~~
  28 | const getter = first.get;

  hint: open slots with new ThreadSlots("name")

thread-slots-fences.ts:28:16 - error SC2020: 'ThreadSlots.get (@scriptc/experimental) as a value' is part of the standard library types but has no scriptc lowering yet

  27 | const ctor = ThreadSlots;
  28 | const getter = first.get;
     |                ^~~~~~~~~
  29 | console.log(named, second, shaped, callbacks, local(first, new Key()), ctor, getter);

  hint: call slots.get(...) directly