pub enum Route {
Show 18 variants
Landing {},
Pricing {},
Privacy {},
Terms {},
Roadmap {},
Guide {},
Crates {},
Success {
session_id: Option<String>,
},
Studio {
file: Option<String>,
},
Learn {},
Profile {},
Workspace {
subject: String,
},
Registry {
token: Option<String>,
login: Option<String>,
error: Option<String>,
q: Option<String>,
},
PackageDetail {
name: String,
},
Benchmarks {},
News {
tag: Option<String>,
},
NewsArticle {
slug: String,
},
NotFound {
route: Vec<String>,
},
}Expand description
Application routes.
This enum is derived with Routable to generate route matching logic.
Each variant corresponds to a URL pattern and its associated page component.
Variants§
Landing
Marketing homepage at /.
Pricing
Contact and licensing at /pricing.
Privacy
Privacy policy at /privacy.
Terms
Terms of service at /terms.
Roadmap
Product roadmap at /roadmap.
Guide
Documentation and tutorials at /guide.
Crates
Crate documentation at /crates.
Success
Post-checkout success page at /success.
Stripe redirects here with a session_id query parameter that the page
exchanges for a license key.
Studio
Playground for experimentation at /studio.
Deep links carry the VFS path of the file to open as a file query
parameter (without the leading slash), e.g.
/studio?file=examples/logic/prover-demo.logic.
Learn
Main learning interface at /learn.
All learning happens here - curriculum browsing, exercises, and review.
Profile
User profile and settings at /profile.
Workspace
Subject-specific workspace at /workspace/:subject.
Registry
Package registry browser at /registry.
The GitHub OAuth callback redirects here with token/login on
success or error on failure; q pre-fills the package search (the
SearchAction URL advertised in the JSON-LD).
Fields
PackageDetail
Package detail page at /registry/package/:name.
Benchmarks
Performance benchmarks at /benchmarks.
News
News index page at /news.
An optional tag query parameter pre-applies a tag filter.
NewsArticle
News article page at /news/:slug.
NotFound
Catch-all for unknown routes, renders 404 page.
Trait Implementations§
Source§impl Routable for Routewhere
Self: Clone,
impl Routable for Routewhere
Self: Clone,
§fn is_child_of(&self, other: &Self) -> bool
fn is_child_of(&self, other: &Self) -> bool
§fn flatten_site_map<'a>() -> FlatMap<Iter<'a, SiteMapSegment>, Vec<Vec<SegmentType>>, fn(&SiteMapSegment) -> Vec<Vec<SegmentType>>>
fn flatten_site_map<'a>() -> FlatMap<Iter<'a, SiteMapSegment>, Vec<Vec<SegmentType>>, fn(&SiteMapSegment) -> Vec<Vec<SegmentType>>>
Self::SITE_MAP].§fn static_routes() -> Vec<Self>
fn static_routes() -> Vec<Self>
#[route("/static/route")]impl StructuralPartialEq for Route
Auto Trait Implementations§
impl Freeze for Route
impl RefUnwindSafe for Route
impl Send for Route
impl Sync for Route
impl Unpin for Route
impl UnsafeUnpin for Route
impl UnwindSafe for Route
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.