0.2.0 Preview 1 · Frozen documentation
DequeInsertionError
Owns an uninserted deque item and its recoverable storage failure.
Sn is under heavy development. Reference extracted from this release’s bundled standard library. Public API examples are not an exhaustive compatibility test. Read the matching release guide for tested workflows and limitations. Read the status →
Module std.collections
import std.collections;Public declaration contracts and authored examples. A page can document several related symbols. Implementation bodies are excluded.
DequeInsertionError
pub final class DequeInsertionError<T>Owns an uninserted deque item and its recoverable storage failure. T: Original item type transferred into the failure without copying.
Example
module example.deque_insertion_error;
from std.collections import Deque;
from std.memory import AllocationError, Layout;
from std.prelude import Result;
struct RejectingAllocator {
pub unsafe fn Allocate(StorageLayout: Layout) -> Result<mut byte*, AllocationError> {
return .Err { Error = .OutOfMemory };
}
pub unsafe fn Free(Storage: mut byte*, StorageLayout: Layout) -> void {}
}
fn Main() -> i32 {
var Values = Deque<i32, RejectingAllocator>.WithAllocator(default(RejectingAllocator));
switch Values.TryPushFront(42) {
case .Ok => return 1;
case .Err { Error = Failure } => {
if Failure.Reason != .OutOfMemory || Failure.Value != 42 { return 2; }
}
}
if !Values.IsEmpty { return 3; }
return 0;
}DequeInsertionError.Reason
pub Reason: AllocationError;Stable allocation/layout failure reason.
DequeInsertionError.Value
pub Value: T;Owns the original uninserted item.
DequeInsertionError.init
pub init(Reason: AllocationError, mut Value: T)Stores the failure and transfers the original item. Reason: Exact recoverable storage failure. Value: Uninserted item transferred into the result.
Documentation snapshot: October 24, 2026 About versions ↗