///|
test "debug" {
@debug.debug_inspect(42, content="42")
@debug.debug_inspect("hello", content="\"hello\"")
@debug.debug_inspect((1, true), content="(1, true)")
@debug.debug_inspect([1, 2, 3], content="[1, 2, 3]")
@debug.debug_inspect(Some(42), content="Some(42)")
}///|
test "to_string" {
let s = @debug.to_string([1, 2, 3])
inspect(s, content="[1, 2, 3]")
}///|
test "string interpolation" {
let arr = [1, 2, 3]
inspect(
"arr: \{Repr(arr)}",
content=(
#|arr: [1, 2, 3]
),
)
}///|
test "print" {
if false {
@debug.debug(42) // prints: 42
}
}///|
test "debug_inspect" {
@debug.debug_inspect(
{ "key": 42 },
content=(
#|{ "key": 42 }
),
)
}///|
test "collections" {
let q = @queue.from_array([1, 2, 3])
@debug.debug_inspect(q, content="<Queue: [1, 2, 3]>")
let dq = @deque.from_array([1, 2])
@debug.debug_inspect(dq, content="<Deque: [1, 2]>")
}impl Debug for FixedArray[T]impl Debug for ReadOnlyArray[T]impl Debug for BenchErrorimpl Debug for InspectErrorimpl Debug for MutArrayView[T]impl Debug for SnapshotErrorimpl Debug for StringBuilderimpl Debug for UninitializedArray[T]fn[A : Debug, B : Debug, C : Debug, D : Debug, E : Debug, F : Debug, G : Debug, H : Debug, I : Debug, J : Debug, K : Debug, L : Debug, M : Debug, N : Debug, O : Debug, P : Debug, Q : Debug, R : Debug, S : Debug, T : Debug] to_repr(self : (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)) -> Reprfn[A : Debug, B : Debug, C : Debug, D : Debug, E : Debug, F : Debug, G : Debug, H : Debug, I : Debug, J : Debug, K : Debug, L : Debug, M : Debug, N : Debug, O : Debug, P : Debug, Q : Debug, R : Debug, S : Debug, T : Debug, U : Debug] to_repr(self : (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)) -> Reprfn[A : Debug, B : Debug, C : Debug, D : Debug, E : Debug, F : Debug, G : Debug, H : Debug, I : Debug, J : Debug, K : Debug, L : Debug, M : Debug, N : Debug, O : Debug, P : Debug, Q : Debug, R : Debug, S : Debug, T : Debug, U : Debug, V : Debug] to_repr(self : (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)) -> Reprimpl Debug for StringViewtype Reprtest {
inspect(Repr(42), content="42")
inspect(Repr("hello"), content="\"hello\"")
inspect(Repr([1, 2]), content="[1, 2]")
}#alias(inspect, deprecated="use `debug_inspect` without package name instead")
#callsite(autofill(args_loc, loc))
fn debug_inspect(obj : &Debug, content? : String, loc~ : SourceLoc, args_loc~ : ArgsLoc) -> Unit raise InspectErrortest {
@debug.debug_inspect(42, content="42")
@debug.debug_inspect('c', content="'c'")
@debug.debug_inspect(
"hello",
content=(
#|"hello"
),
)
@debug.debug_inspect(
([1, 2, 3, 4], "string", Some(3.14)),
content=(
#|([1, 2, 3, 4], "string", Some(3.14))
),
)
}test {
let str = @debug.to_string([1, 2, 3])
@test.assert_eq(str, "[1, 2, 3]")
// Same function under a shorter name.
@test.assert_eq(repr("hi"), "\"hi\"")
}Install
Installed by default