(component
(type (;0;)
(component
(type (;0;)
(instance
(type (;0;) (option string))
(type (;1;) (func (param "key" string) (result 0)))
(export (;0;) "get" (func (type 1)))
(type (;2;) (func (param "key" string) (param "value" string)))
(export (;1;) "set" (func (type 2)))
)
)
(export (;0;) "foo:foo/store" (instance (type 0)))
)
)
(export (;1;) "store" (type 0))
(type (;2;)
(component
(type (;0;)
(instance
(type (;0;) (func (param "msg" string)))
(export (;0;) "log" (func (type 0)))
)
)
(export (;0;) "foo:foo/logger" (instance (type 0)))
)
)
(export (;3;) "logger" (type 2))
(type (;4;)
(component
(type (;0;)
(component
(type (;0;)
(instance
(type (;0;) (option string))
(type (;1;) (func (param "key" string) (result 0)))
(export (;0;) "get" (func (type 1)))
(type (;2;) (func (param "key" string) (param "value" string)))
(export (;1;) "set" (func (type 2)))
)
)
(import "primary" (implements "foo:foo/store") (instance (;0;) (type 0)))
(type (;1;)
(instance
(type (;0;) (option string))
(type (;1;) (func (param "key" string) (result 0)))
(export (;0;) "get" (func (type 1)))
(type (;2;) (func (param "key" string) (param "value" string)))
(export (;1;) "set" (func (type 2)))
)
)
(import "backup" (implements "foo:foo/store") (instance (;1;) (type 1)))
(type (;2;)
(instance
(type (;0;) (func (param "msg" string)))
(export (;0;) "log" (func (type 0)))
)
)
(import "foo:foo/logger" (instance (;2;) (type 2)))
)
)
(export (;0;) "foo:foo/multi-import" (component (type 0)))
)
)
(export (;5;) "multi-import" (type 4))
(type (;6;)
(component
(type (;0;)
(component
(type (;0;)
(instance
(type (;0;) (option string))
(type (;1;) (func (param "key" string) (result 0)))
(export (;0;) "get" (func (type 1)))
(type (;2;) (func (param "key" string) (param "value" string)))
(export (;1;) "set" (func (type 2)))
)
)
(export (;0;) "primary" (implements "foo:foo/store") (instance (type 0)))
(type (;1;)
(instance
(type (;0;) (option string))
(type (;1;) (func (param "key" string) (result 0)))
(export (;0;) "get" (func (type 1)))
(type (;2;) (func (param "key" string) (param "value" string)))
(export (;1;) "set" (func (type 2)))
)
)
(export (;1;) "backup" (implements "foo:foo/store") (instance (type 1)))
)
)
(export (;0;) "foo:foo/multi-export" (component (type 0)))
)
)
(export (;7;) "multi-export" (type 6))
(type (;8;)
(component
(type (;0;)
(component
(type (;0;)
(instance
(type (;0;) (option string))
(type (;1;) (func (param "key" string) (result 0)))
(export (;0;) "get" (func (type 1)))
(type (;2;) (func (param "key" string) (param "value" string)))
(export (;1;) "set" (func (type 2)))
)
)
(import "foo:foo/store" (instance (;0;) (type 0)))
(type (;1;)
(instance
(type (;0;) (option string))
(type (;1;) (func (param "key" string) (result 0)))
(export (;0;) "get" (func (type 1)))
(type (;2;) (func (param "key" string) (param "value" string)))
(export (;1;) "set" (func (type 2)))
)
)
(import "cache" (implements "foo:foo/store") (instance (;1;) (type 1)))
)
)
(export (;0;) "foo:foo/mixed" (component (type 0)))
)
)
(export (;9;) "mixed" (type 8))
(@custom "package-docs" "\01{\22worlds\22:{\22multi-import\22:{\22docs\22:\22A world that imports the same interface multiple times under different\5cnplain names using the `implements` syntax.\22},\22multi-export\22:{\22docs\22:\22A world that exports the same interface multiple times.\22},\22mixed\22:{\22docs\22:\22A world with both implements imports and a normal interface import,\5cntesting that elaboration adds the dependency correctly.\22}}}")
(@producers
(processed-by "wit-component" "$CARGO_PKG_VERSION")
)
)