From c4a509c37ed0d5eb983d222a6206df71b4be4118 Mon Sep 17 00:00:00 2001 From: Luke Wagner Date: Tue, 30 May 2023 19:00:38 -0500 Subject: [PATCH 1/2] Switch to a single 'rc' handle type (for now) --- design/mvp/Binary.md | 16 +- design/mvp/CanonicalABI.md | 305 +++++++++++------------- design/mvp/Explainer.md | 180 +++++++------- design/mvp/Subtyping.md | 2 +- design/mvp/WIT.md | 94 ++++++-- design/mvp/canonical-abi/definitions.py | 165 ++++++------- design/mvp/canonical-abi/run_tests.py | 94 ++++---- 7 files changed, 426 insertions(+), 430 deletions(-) diff --git a/design/mvp/Binary.md b/design/mvp/Binary.md index fcef649c..00ebfd25 100644 --- a/design/mvp/Binary.md +++ b/design/mvp/Binary.md @@ -114,9 +114,9 @@ Notes: import or export, respectively, in the same scope (component, component type or instance type). * Validation of `[constructor]` names requires that the `func` returns a - `(result (own $R))`, where `$R` is the resource labeled `r`. + `(result (rc $R))`, where `$R` is the resource labeled `r`. * Validation of `[method]` names requires the first parameter of the function - to be `(param "self" (borrow $R))`, where `$R` is the resource labeled `r`. + to be `(param "self" (rc $R))`, where `$R` is the resource labeled `r`. * Validation of `[method]` and `[static]` names ensures that all field names are disjoint. @@ -203,8 +203,7 @@ defvaltype ::= pvt: => pvt | 0x6c t*:vec() => (union t*) | 0x6b t: => (option t) | 0x6a t?:? u?:? => (result t? (error u)?) - | 0x69 i: => (own i) - | 0x68 i: => (borrow i) + | 0x69 i: => (rc i) labelvaltype ::= l: