aboutsummaryrefslogtreecommitdiff
path: root/doc/rust-generated-code-guide.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rust-generated-code-guide.rst')
-rw-r--r--doc/rust-generated-code-guide.rst24
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/rust-generated-code-guide.rst b/doc/rust-generated-code-guide.rst
index df22d92..6dfdfd0 100644
--- a/doc/rust-generated-code-guide.rst
+++ b/doc/rust-generated-code-guide.rst
@@ -30,6 +30,10 @@ backend may create it.
impl<T> std::ops::Deref for Private<T> { .. }
+.. warning::
+ PDL authorizes the use of rust keywords as identifier. Keyword identifiers
+ are generated as raw identifiers, e.g. `type` is generated as `r#type`.
+
Enum declarations
^^^^^^^^^^^^^^^^^
@@ -72,3 +76,23 @@ Enum declarations
| | impl From<TestEnum> for i32 { .. } |
| | impl From<TestEnum> for i64 { .. } |
+---------------------------------------+---------------------------------------------------------------+
+| :: | .. sourcecode:: rust |
+| | |
+| enum TestEnum : 8 { | #[repr(u64)] |
+| A = 1, | #[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] |
+| B = 2, | enum TestEnum { |
+| OTHER = .., | A, |
+| } | B, |
+| | Other(Private<u8>), |
+| | } |
+| | |
+| | impl From<u8> for TestEnum { .. } |
+| | impl From<TestEnum> for u8 { .. } |
+| | impl From<TestEnum> for u16 { .. } |
+| | impl From<TestEnum> for u32 { .. } |
+| | impl From<TestEnum> for u64 { .. } |
+| | impl From<TestEnum> for i8 { .. } |
+| | impl From<TestEnum> for i16 { .. } |
+| | impl From<TestEnum> for i32 { .. } |
+| | impl From<TestEnum> for i64 { .. } |
++---------------------------------------+---------------------------------------------------------------+