@@ -628,14 +628,20 @@ contain the opaque address of a resource and avoid copying the resource when
628
628
passed across component boundaries. By way of metaphor to operating systems,
629
629
handles are analogous to file descriptors, which are stored in a table and may
630
630
only be used indirectly by untrusted user-mode processes via their integer
631
- index in the table. In the Component Model, handles are lifted-from and
632
- lowered-into ` i32 ` values that index an encapsulated per-component-instance
633
- * handle table* that is maintained by the canonical function definitions
634
- described [ below] ( #canonical-definitions ) . The uniqueness and dropping
635
- conditions mentioned above are enforced at runtime by the Component Model
636
- through these canonical definitions. The ` typeidx ` immediate of a handle type
637
- must refer to a ` resource ` type (described below) that statically classifies
638
- the particular kinds of resources the handle can point to.
631
+ index in the table.
632
+
633
+ In the Component Model, handles are lifted-from and lowered-into ` i32 ` values
634
+ that index an encapsulated per-component-instance * handle table* that is
635
+ maintained by the canonical function definitions described
636
+ [ below] ( #canonical-definitions ) . In the future, handles could be
637
+ backwards-compatibly lifted and lowered from [ reference types] (via the
638
+ addition of a new ` canonopt ` , as introduced [ below] ( #canonical-abi ) ).
639
+
640
+ The uniqueness and dropping conditions mentioned above are enforced at runtime
641
+ by the Component Model through these canonical definitions. The ` typeidx `
642
+ immediate of a handle type must refer to a ` resource ` type (described below)
643
+ that statically classifies the particular kinds of resources the handle can
644
+ point to.
639
645
640
646
#### Specialized value types
641
647
0 commit comments