Open karthik2804 opened 3 weeks ago
As the title states merging wit fails when trying to merge a non minimized package into a minimized package but the other way works. An example is the wit extracted from a component after it has passed through wit-component.
wit
wit-component
An example would wit-1
wit-1
package wasi:io@0.2.0 { interface error { resource error; } interface streams { use error.{error}; resource output-stream { check-write: func() -> result<u64, stream-error>; write: func(contents: list<u8>) -> result<_, stream-error>; blocking-write-and-flush: func(contents: list<u8>) -> result<_, stream-error>; blocking-flush: func() -> result<_, stream-error>; } variant stream-error { last-operation-failed(error), closed, } resource input-stream; } }
wit-2
package wasi:io@0.2.0 { interface error { resource error { to-debug-string: func() -> string; } } interface poll { resource pollable { ready: func() -> bool; block: func(); } poll: func(in: list<borrow<pollable>>) -> list<u32>; } interface streams { use error.{error}; use poll.{pollable}; variant stream-error { last-operation-failed(error), closed, } resource input-stream { read: func(len: u64) -> result<list<u8>, stream-error>; blocking-read: func(len: u64) -> result<list<u8>, stream-error>; skip: func(len: u64) -> result<u64, stream-error>; blocking-skip: func(len: u64) -> result<u64, stream-error>; subscribe: func() -> pollable; } resource output-stream { check-write: func() -> result<u64, stream-error>; write: func(contents: list<u8>) -> result<_, stream-error>; blocking-write-and-flush: func(contents: list<u8>) -> result<_, stream-error>; flush: func() -> result<_, stream-error>; blocking-flush: func() -> result<_, stream-error>; subscribe: func() -> pollable; write-zeroes: func(len: u64) -> result<_, stream-error>; blocking-write-zeroes-and-flush: func(len: u64) -> result<_, stream-error>; splice: func(src: borrow<input-stream>, len: u64) -> result<u64, stream-error>; blocking-splice: func(src: borrow<input-stream>, len: u64) -> result<u64, stream-error>; } } world imports { import error; import poll; import streams; } }
Merging wit-1 into wit-2 works but not the other way around
As the title states merging
wit
fails when trying to merge a non minimized package into a minimized package but the other way works. An example is thewit
extracted from a component after it has passed throughwit-component
.An example would
wit-1
wit-2
Merging
wit-1
intowit-2
works but not the other way around