<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in error.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>05a041c2 - Migrate wasi-common to `wasmtime::error` (#12293)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#05a041c2</link>
        <description>Migrate wasi-common to `wasmtime::error` (#12293)* Migrate wiggle and wiggle generate to `wasmtime::error`* Fix testing `wiggle` and `wiggle-test` in isolationWhen doing plain old `cargo test -p wiggle` (or `wiggle-test`) the test wouldfail due to linking errors because Wasmtime&apos;s `std` cargo feature (and maybeothers) wasn&apos;t being enabled. The crate&apos;s tests would pass when run as part ofthe whole workspace, however, because of cargo feature resolution and othercrates that enabled the necessary features, which is why CI is green.* Remove direct anyhow dependency in wiggle-test* Migrate wasi-nn to `wasmtime::error`* Migrate wasi-keyvalue to `wasmtime::error`* Migrate wasi-io to `wasmtime::error`* Migrate wasi-http to `wasmtime::error`* Migrate wasi-config to `wasmtime::error`* Migrate wasi-common to `wastime::error`This is another interesting one because wasi-common is used internally toWasmtime but also by other projects. Therefore, rather than using`wastime::error::*` and making `wasmtime` a hard dependency, we use just`wasmtime_environ::error`.* cargo fmt

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Thu, 08 Jan 2026 21:01:25 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>3b61c511 - Move wasmtime-wasi&apos;s Table to wasmtime::component::ResourceTable (#7655)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#3b61c511</link>
        <description>Move wasmtime-wasi&apos;s Table to wasmtime::component::ResourceTable (#7655)* rename to ResourceTable, docs, and export* wasi: use the table from wasmtime::component* wasi-http: use wasmtime::component&apos;s resource table now* rename file (somehow got lost)* wasmtime-cli: fixes for resourcetable* fix wasi-http tests* more test fixes* error messages* fix warning* cli: fix min buildprtest:full

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Fri, 08 Dec 2023 00:47:58 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;phickey@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>56daa8a1 - Use wiggle &quot;trappable error&quot; to implement wasi-common (#5279)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#56daa8a1</link>
        <description>Use wiggle &quot;trappable error&quot; to implement wasi-common (#5279)* convert wasi-common from defining its own error to using wiggle trappable error* wasi-common impl crates: switch error strategy* wasmtime-wasi: error is trappable, and no longer requires UserErrorConversion* docs* typo* readdir: windows fixes* fix windows scheduler errorsfun fact! the Send and Recv errors here that just had a `.context` onthem were previously not being captured in the downcasting either. Theyneed to be traps, and would have ended up that way by ommission, butyou&apos;d never actually know that by reading the code!

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Thu, 17 Nov 2022 00:57:22 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;phickey@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>2afaac51 - Return `anyhow::Error` from host functions instead of `Trap`, redesign `Trap` (#5149)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#2afaac51</link>
        <description>Return `anyhow::Error` from host functions instead of `Trap`, redesign `Trap` (#5149)* Return `anyhow::Error` from host functions instead of `Trap`This commit refactors how errors are modeled when returned from hostfunctions and additionally refactors how custom errors work with `Trap`.At a high level functions in Wasmtime that previously worked with`Result&lt;T, Trap&gt;` now work with `Result&lt;T&gt;` instead where the error is`anyhow::Error`. This includes functions such as:* Host-defined functions in a `Linker&lt;T&gt;`* `TypedFunc::call`* Host-related callbacks like call hooksErrors are now modeled primarily as `anyhow::Error` throughout Wasmtime.This subsequently removes the need for `Trap` to have the ability torepresent all host-defined errors as it previously did. Consequently the`From` implementations for any error into a `Trap` have been removedhere and the only embedder-defined way to create a `Trap` is to use`Trap::new` with a custom string.After this commit the distinction between a `Trap` and a host error isthe wasm backtrace that it contains. Previously all errors in hostfunctions would flow through a `Trap` and get a wasm backtrace attachedto them, but now this only happens if a `Trap` itself is created meaningthat arbitrary host-defined errors flowing from a host import to theother side won&apos;t get backtraces attached. Some internals of Wasmtimeitself were updated or preserved to use `Trap::new` to capture abacktrace where it seemed useful, such as when fuel runs out.The main motivation for this commit is that it now enables hosts tothread a concrete error type from a host function all the way through towhere a wasm function was invoked. Previously this could not be donesince the host error was wrapped in a `Trap` that didn&apos;t provide theability to get at the internals.A consequence of this commit is that when a host error is returned thatisn&apos;t a `Trap` we&apos;ll capture a backtrace and then won&apos;t have a `Trap` toattach it to. To avoid losing the contextual information this commituses the `Error::context` method to attach the backtrace as contextualinformation to ensure that the backtrace is itself not lost.This is a breaking change for likely all users of Wasmtime, but it&apos;shoped to be a relatively minor change to workaround. Most use cases canlikely change `-&gt; Result&lt;T, Trap&gt;` to `-&gt; Result&lt;T&gt;` and otherwiseexplicit creation of a `Trap` is largely no longer necessary.* Fix some doc links* add some tests and make a backtrace type public (#55)* Trap: avoid a trailing newline in the Display implwhich in turn ends up with three newlines between the end of thebacktrace and the `Caused by` in the anyhow Debug impl* make BacktraceContext pub, and add tests showing downcasting behavior of anyhow::Error to traps or backtraces* Remove now-unnecesary `Trap` downcasts in `Linker::module`* Fix test output expectations* Remove `Trap::i32_exit`This commit removes special-handling in the `wasmtime::Trap` type forthe i32 exit code required by WASI. This is now instead modeled as aspecific `I32Exit` error type in the `wasmtime-wasi` crate which isreturned by the `proc_exit` hostcall. Embedders which previously testedfor i32 exits now downcast to the `I32Exit` value.* Remove the `Trap::new` constructorThis commit removes the ability to create a trap with an arbitrary errormessage. The purpose of this commit is to continue the prior trend ofleaning into the `anyhow::Error` type instead of trying to recreate itwith `Trap`. A subsequent simplification to `Trap` after this commit isthat `Trap` will simply be an `enum` of trap codes with no extrainformation. This commit is doubly-motivated by the desire to always usethe new `BacktraceContext` type instead of sometimes using that andsometimes using `Trap`.Most of the changes here were around updating `Trap::new` calls to`bail!` calls instead. Tests which assert particular error messagesadditionally often needed to use the `:?` formatter instead of the `{}`formatter because the prior formats the whole `anyhow::Error` and thelatter only formats the top-most error, which now contains thebacktrace.* Merge `Trap` and `TrapCode`With prior refactorings there&apos;s no more need for `Trap` to be opaque orotherwise contain a backtrace. This commit parse down `Trap` to simplyan `enum` which was the old `TrapCode`. All various tests and such wereupdated to handle this.The main consequence of this commit is that all errors have a`BacktraceContext` context attached to them. This unfortunately meansthat the backtrace is printed first before the error message or trapcode, but given all the prior simplifications that seems worth it atthis time.* Rename `BacktraceContext` to `WasmBacktrace`This feels like a better name given how this has turned out, andadditionally this commit removes having both `WasmBacktrace` and`BacktraceContext`.* Soup up documentation for errors and traps* Fix build of the C APICo-authored-by: Pat Hickey &lt;pat@moreproductive.org&gt;

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Wed, 02 Nov 2022 16:29:31 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>24da5f77 - Tidy up the WASI `ErrorKind` enum. (#5015)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#24da5f77</link>
        <description>Tidy up the WASI `ErrorKind` enum. (#5015)* Tidy up the WASI `ErrorKind` enum.`ErrorKind` is an internal enum used in wasi-libc to represent WASIerrors that aren&apos;t precisely represened by `std::io::ErrorKind` errors.Add a descriptive comment, and remove some codes that are no longerneeded: - Remove `NotCapable`, which is no longer used. - Remove `WouldBlk`, `Exist`, `Noent`, and `Inval`, which have   one-to-one correspondences with codes in `std::io::ErrorKind`.This will simplify the error handling in #4947 and #4967, as it meansthe code will no longer have to check for two different forms of theseerrors.* Map `std::io::ErrorKind::InvalidInput` to `Ok(types::Errno::Inval)`.

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Wed, 05 Oct 2022 14:29:49 +0000</pubDate>
        <dc:creator>Dan Gohman &lt;dev@sunfishcode.online&gt;</dc:creator>
    </item>
<item>
        <title>d986b3cb - feat: improve wasi_common::ErrorKind derives (#5006)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#d986b3cb</link>
        <description>feat: improve wasi_common::ErrorKind derives (#5006)Besides the standard traits (Copy, Clone, PartialEq and Eq), we also markthe trait as non-exhaustive so that we can add errors in the futurewithout breaking API.Signed-off-by: Nathaniel McCallum &lt;nathaniel@profian.com&gt;Signed-off-by: Nathaniel McCallum &lt;nathaniel@profian.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Tue, 04 Oct 2022 21:00:42 +0000</pubDate>
        <dc:creator>Nathaniel McCallum &lt;nathaniel@profian.com&gt;</dc:creator>
    </item>
<item>
        <title>918debfe - Stop returning `NOTCAPABLE` errors from WASI calls. (#4666)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#918debfe</link>
        <description>Stop returning `NOTCAPABLE` errors from WASI calls. (#4666)* Stop returning `NOTCAPABLE` errors from WASI calls.`ENOTCAPABLE` was an error code that is used as part of the rightssystem, from CloudABI. There is a set of flags associated with each filedescriptor listing which operations can be performed with the filedescriptor, and if an attempt is made to perform an operation with afile descriptor that isn&apos;t permitted by its rights flags, it fails with`ENOTCAPABLE`.WASI is removing the rights system. For example, WebAssembly/wasi-libc#294removed support for translating `ENOTCAPABLE` into POSIX error codes, onthe assumption that engines should stop using it.So as another step to migrating away from the rights system, remove usesof the `ENOTCAPABLE` error.* Update crates/wasi-common/src/file.rsCo-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;* Update crates/wasi-common/src/dir.rsCo-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;Co-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Wed, 10 Aug 2022 20:44:23 +0000</pubDate>
        <dc:creator>Dan Gohman &lt;dev@sunfishcode.online&gt;</dc:creator>
    </item>
<item>
        <title>853a0256 - Implement `sock_accept`</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#853a0256</link>
        <description>Implement `sock_accept`With the addition of `sock_accept()` in `wasi-0.11.0`, wasmtime can nowimplement basic networking for pre-opened sockets.For Windows `AsHandle` was replaced with `AsRawHandleOrSocket` to copewith the duality of Handles and Sockets.For Unix a `wasi_cap_std_sync::net::Socket` enum was created to handlethe {Tcp,Unix}{Listener,Stream} more efficiently in`WasiCtxBuilder::preopened_socket()`.The addition of that many `WasiFile` implementors was mainly necessary,because of the difference in the `num_ready_bytes()` function.A known issue is Windows now busy polling on sockets, because exceptfor `stdin`, nothing is querying the status of windows handles/sockets.Another know issue on Windows, is that there is no crate providingsupport for `fcntl(fd, F_GETFL, 0)` on a socket.Signed-off-by: Harald Hoyer &lt;harald@profian.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Fri, 21 Jan 2022 13:42:43 +0000</pubDate>
        <dc:creator>Harald Hoyer &lt;harald@profian.com&gt;</dc:creator>
    </item>
<item>
        <title>b7efcbe8 - jump through enough hoops for the poll lifetime to work out</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#b7efcbe8</link>
        <description>jump through enough hoops for the poll lifetime to work outyou program rust for a few years and you think you&apos;re done tearing yourhair out over lifetimes, well, you&apos;ll find yourself wrong

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Thu, 29 Apr 2021 23:44:45 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>7daa7763 - rustdoc the errors</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#7daa7763</link>
        <description>rustdoc the errors

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Tue, 02 Feb 2021 02:04:49 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>e940d31f - add a noent / not_found errorkind</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#e940d31f</link>
        <description>add a noent / not_found errorkind

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Sat, 30 Jan 2021 21:36:41 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>47fec44c - move wasi-c2 into wasi-common</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#47fec44c</link>
        <description>move wasi-c2 into wasi-common

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Thu, 28 Jan 2021 23:15:50 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>b149a03d - wasi-common: instead of panicking, use an Error::Unsupported that Traps</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#b149a03d</link>
        <description>wasi-common: instead of panicking, use an Error::Unsupported that Traps

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Thu, 07 Jan 2021 22:05:49 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>e8c01dde - put getrandom::Error into Error</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#e8c01dde</link>
        <description>put getrandom::Error into Error

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Wed, 19 Aug 2020 21:29:14 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>c1aec81b - add enough errno variants to cover all windows codes too</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#c1aec81b</link>
        <description>add enough errno variants to cover all windows codes too

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Wed, 19 Aug 2020 19:01:16 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>4535741d - refactor when we translate io::Error to an Error</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#4535741d</link>
        <description>refactor when we translate io::Error to an Error* a certain subset of io::Errors are expected - these we have  a (platform-specific, because windows) method to translate into  one of the wasi errno variants in the Error enum.* some io::Errors are unexpected - wasi-common doesnt expect them from  the underlying OS. rather than preserve any fidelity in reporting  those to the user (only the unix impl attempts this), lets collect  those as an `Error::UnexpectedIo(#[source] std::io::Error)`.  Rather than trace at the conversion site, we rely on the wiggle error  conversion hooks to trace the `Error`&apos;s `Debug` impl, and then  we convert all of these unexpected into `Errno::Io` for returning  to the guest.This is a different behavior from before, and I don&apos;t have any firmguarantees that nobody was depending on the old behavior, but itappears to me that none of those unexpected errnos were reasonableto expect from any of the filesystem syscalls wasi-common is making.

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Wed, 19 Aug 2020 18:21:44 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>e8160c9a - redefine crate to use `Error` everywhere except in `wasi`</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#e8160c9a</link>
        <description>redefine crate to use `Error` everywhere except in `wasi`

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Tue, 18 Aug 2020 01:45:33 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>b8409dd9 - wasi-common: define an Error type for the crate</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#b8409dd9</link>
        <description>wasi-common: define an Error type for the crate

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Tue, 18 Aug 2020 00:22:20 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;pat@moreproductive.org&gt;</dc:creator>
    </item>
<item>
        <title>135a48ca - wasi-common error cleanup: part 1, yanix (#1226)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#135a48ca</link>
        <description>wasi-common error cleanup: part 1, yanix (#1226)* Reuse std::io::Error for raw *nix errnoThis commit removes custom `yanix::Errno` and instead (as waspreviously suggested) reuses `std::io::Error` to generate and wrapraw *nix errno value.* Update wasi-common to use new Yanix error typeThis commit updates `wasi-common` to use new way of handling rawOS error in `yanix`; i.e., via re-use of `std::io::Error` insteadof a custom `Errno` enum.* Fix formatting* Unwrap if io::Error created from raw OS errorThis commit calls `unwrap` on `err` if that one was created via`io::Error::last_os_error()`. It also refactors error matchingin several syscalls on the BSD platform (mainly).

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Thu, 05 Mar 2020 09:08:28 +0000</pubDate>
        <dc:creator>Jakub Konka &lt;kubkon@jakubkonka.com&gt;</dc:creator>
    </item>
<item>
        <title>5b5f9a7b - Properly return errors.</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wasi-common/src/error.rs#5b5f9a7b</link>
        <description>Properly return errors.

            List of files:
            /wasmtime-44.0.1/crates/wasi-common/src/error.rs</description>
        <pubDate>Fri, 17 Jan 2020 08:12:12 +0000</pubDate>
        <dc:creator>Marcin Mielniczuk &lt;marmistrz.dev@zoho.eu&gt;</dc:creator>
    </item>
</channel>
</rss>
