Close certain api interfaces for external implementation (#1396)

This adds a new type `internalapi.WazeroOnly` which should be embedded on types users are likely to accidentally implement despite docs saying otherwise.

Signed-off-by: Nuno Cruces <ncruces@users.noreply.github.com>
This commit is contained in:
Nuno Cruces
2023-04-28 08:32:32 +01:00
committed by GitHub
parent f9f17031f9
commit 197facf7a9
13 changed files with 60 additions and 6 deletions

View File

@@ -14,6 +14,7 @@ import (
"github.com/tetratelabs/wazero/experimental"
"github.com/tetratelabs/wazero/internal/asm"
"github.com/tetratelabs/wazero/internal/filecache"
"github.com/tetratelabs/wazero/internal/internalapi"
"github.com/tetratelabs/wazero/internal/platform"
"github.com/tetratelabs/wazero/internal/version"
"github.com/tetratelabs/wazero/internal/wasm"
@@ -53,6 +54,8 @@ type (
//
// This implements api.Function.
callEngine struct {
internalapi.WazeroOnlyType
// See note at top of file before modifying this struct.
// These contexts are read and written by compiled code.