playground_api/
endpoints.rs1mod clippy;
4mod compile;
5mod crates;
6mod execute;
7mod format;
8mod gist;
9mod macro_expansion;
10mod miri;
11mod versions;
12
13pub use clippy::{ClippyRequest, ClippyResponse};
14pub use compile::{
15 AssemblyFlavor, CompileRequest, CompileResponse, CompileTarget, DemangleAssembly,
16 ProcessAssembly,
17};
18pub use crates::{CrateInformation, CratesResponse};
19pub use execute::{ExecuteRequest, ExecuteResponse};
20pub use format::{FormatRequest, FormatResponse};
21pub use gist::{GistCreateRequest, GistResponse};
22pub use macro_expansion::{MacroExpansionRequest, MacroExpansionResponse};
23pub use miri::{AliasingModel, MiriRequest, MiriResponse};
24pub use versions::{ChannelVersion, Version, VersionsResponse};
25
26use serde::{Deserialize, Serialize};
27
28pub(crate) enum Endpoints {
29 Execute,
30 Compile,
31 Format,
32 Clippy,
33 Miri,
34 MacroExpansion,
35 Crates,
36 Versions,
37 GistCreate,
38 GistGet(String),
39}
40
41#[derive(Debug, Deserialize, Serialize, Clone, Copy, PartialEq, Eq)]
45#[cfg_attr(feature = "poise-bot", derive(poise::ChoiceParameter))]
46pub enum Edition {
47 #[cfg_attr(feature = "poise-bot", name = "Edition 2024")]
49 #[serde(rename = "2024")]
50 Edition2024,
51
52 #[cfg_attr(feature = "poise-bot", name = "Edition 2021")]
54 #[serde(rename = "2021")]
55 Edition2021,
56
57 #[cfg_attr(feature = "poise-bot", name = "Edition 2018")]
59 #[serde(rename = "2018")]
60 Edition2018,
61
62 #[cfg_attr(feature = "poise-bot", name = "Edition 2015")]
64 #[serde(rename = "2015")]
65 Edition2015,
66}
67
68#[derive(Debug, Deserialize, Serialize, Clone, Copy, PartialEq, Eq)]
70#[cfg_attr(feature = "poise-bot", derive(poise::ChoiceParameter))]
71pub enum CrateType {
72 #[serde(rename = "bin")]
74 Binary,
75
76 #[serde(rename = "lib")]
78 Library,
79}
80
81#[derive(Debug, Deserialize, Serialize, Clone, Copy, PartialEq, Eq)]
83#[cfg_attr(feature = "poise-bot", derive(poise::ChoiceParameter))]
84#[serde(rename_all = "lowercase")]
85pub enum Mode {
86 Debug,
88
89 Release,
91}
92
93#[derive(Debug, Deserialize, Serialize, Clone, Copy, PartialEq, Eq)]
95#[cfg_attr(feature = "poise-bot", derive(poise::ChoiceParameter))]
96#[serde(rename_all = "lowercase")]
97pub enum Channel {
98 Stable,
100
101 Beta,
103
104 Nightly,
106}