chore: 提交所有工作进度 — SaaS 后端增强、Admin UI、桌面端集成

包含大量 SaaS 平台改进、Admin 管理后台更新、桌面端集成完善、
文档同步、测试文件重构等内容。为 QA 测试准备干净工作树。
This commit is contained in:
iven
2026-03-29 10:46:26 +08:00
parent 9a5fad2b59
commit 5fdf96c3f5
268 changed files with 22011 additions and 3886 deletions

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;"],["impl&lt;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[1197]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[758]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[524]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[821]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[566]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[288]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[522]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;"],["impl&lt;'k, 'v, V: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[1190]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[526]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[264]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl&lt;'ps, 'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[351]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[265]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>",1,["matchit::error::InsertError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>",1,["matchit::error::MatchError"]],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;",1,["matchit::params::Params"]],["impl&lt;'k, 'v, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;<div class=\"where\">where\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a>,</div>",1,["matchit::router::Match"]],["impl&lt;'ps, 'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;",1,["matchit::params::ParamsIter"]],["impl&lt;T&gt; !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;",1,["matchit::router::Router"]]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[2038]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>",1,["matchit::error::InsertError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>",1,["matchit::error::MatchError"]],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;",1,["matchit::params::Params"]],["impl&lt;'k, 'v, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;<div class=\"where\">where\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["matchit::router::Match"]],["impl&lt;'ps, 'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;",1,["matchit::params::ParamsIter"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,</div>",1,["matchit::router::Router"]]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[2169]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>"],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;"]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[929]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>",1,["matchit::error::InsertError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>",1,["matchit::error::MatchError"]],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;",1,["matchit::params::Params"]],["impl&lt;'k, 'v, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;<div class=\"where\">where\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["matchit::router::Match"]],["impl&lt;'ps, 'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;",1,["matchit::params::ParamsIter"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a>,</div>",1,["matchit::router::Router"]]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[2169]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>",1,["matchit::error::InsertError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>",1,["matchit::error::MatchError"]],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;",1,["matchit::params::Params"]],["impl&lt;'k, 'v, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;<div class=\"where\">where\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["matchit::router::Match"]],["impl&lt;'ps, 'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;",1,["matchit::params::ParamsIter"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,</div>",1,["matchit::router::Router"]]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[2193]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl UnsafeUnpin for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>",1,["matchit::error::InsertError"]],["impl UnsafeUnpin for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>",1,["matchit::error::MatchError"]],["impl&lt;'k, 'v&gt; UnsafeUnpin for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;",1,["matchit::params::Params"]],["impl&lt;'k, 'v, V&gt; UnsafeUnpin for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;<div class=\"where\">where\n V: UnsafeUnpin,</div>",1,["matchit::router::Match"]],["impl&lt;'ps, 'k, 'v&gt; UnsafeUnpin for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;",1,["matchit::params::ParamsIter"]],["impl&lt;T&gt; UnsafeUnpin for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;<div class=\"where\">where\n T: UnsafeUnpin,</div>",1,["matchit::router::Router"]]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[1201]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>",1,["matchit::error::InsertError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>",1,["matchit::error::MatchError"]],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;",1,["matchit::params::Params"]],["impl&lt;'k, 'v, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;<div class=\"where\">where\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a>,</div>",1,["matchit::router::Match"]],["impl&lt;'ps, 'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;",1,["matchit::params::ParamsIter"]],["impl&lt;T&gt; !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;",1,["matchit::router::Router"]]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[2346]}

View File

@@ -0,0 +1,9 @@
(function() {
var implementors = Object.fromEntries([["matchit",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"matchit/enum.InsertError.html\" title=\"enum matchit::InsertError\">InsertError</a>",1,["matchit::error::InsertError"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"matchit/enum.MatchError.html\" title=\"enum matchit::MatchError\">MatchError</a>",1,["matchit::error::MatchError"]],["impl&lt;'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.Params.html\" title=\"struct matchit::Params\">Params</a>&lt;'k, 'v&gt;",1,["matchit::params::Params"]],["impl&lt;'k, 'v, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.Match.html\" title=\"struct matchit::Match\">Match</a>&lt;'k, 'v, V&gt;<div class=\"where\">where\n V: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a>,</div>",1,["matchit::router::Match"]],["impl&lt;'ps, 'k, 'v&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.ParamsIter.html\" title=\"struct matchit::ParamsIter\">ParamsIter</a>&lt;'ps, 'k, 'v&gt;",1,["matchit::params::ParamsIter"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"matchit/struct.Router.html\" title=\"struct matchit::Router\">Router</a>&lt;T&gt;<div class=\"where\">where\n T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a>,</div>",1,["matchit::router::Router"]]]]]);
if (window.register_implementors) {
window.register_implementors(implementors);
} else {
window.pending_implementors = implementors;
}
})()
//{"start":57,"fragment_lengths":[2497]}