// Generated by `wit-bindgen` 0.43.0. DO NOT EDIT!
///|
/// A resource which represents some error information.
///
/// The only method provided by this resource is `to-debug-string`,
/// which provides some human-readable information about the error.
///
/// In the `wasi:io` package, this resource is returned through the
/// `wasi:io/streams/stream-error` type.
///
/// To provide more specific error information, other interfaces may
/// provide functions to further "downcast" this error into more specific
/// error information. For example, `error`s returned in streams derived
/// from filesystem types to be described using the filesystem's own
/// error-code type, using the function
/// `wasi:filesystem/types/filesystem-error-code`, which takes a parameter
/// `borrow` and returns
/// `option`.
///
/// The set of functions which can "downcast" an `error` into a more
/// concrete type is open.
pub(all) struct Error_(Int) derive(Show, Eq)
///|
/// Drops a resource handle.
pub fn Error_::drop(self : Error_) -> Unit {
let Error_(resource) = self
wasmImportResourceDropError_(resource)
}
///|
/// Returns a string that is suitable to assist humans in debugging
/// this error.
///
/// WARNING: The returned string should not be consumed mechanically!
/// It may change across platforms, hosts, or other implementation
/// details. Parsing this string is a major platform-compatibility
/// hazard.
pub fn Error_::to_debug_string(self : Error_) -> String {
let Error_(handle) = self
let return_area = @ffi.malloc(8)
wasmImportMethodErrorToDebugString(handle, return_area)
let result = @ffi.ptr2str(
@ffi.load32(return_area + 0),
@ffi.load32(return_area + 4),
)
@ffi.free(return_area)
return result
}