Commit Graph

2764 Commits

Author SHA1 Message Date
Arthur Baars
75113367c9 Add InlineAsm::expr 2024-09-06 18:14:14 +02:00
Arthur Baars
bc6da117d2 Fix type of Closure::arg_types 2024-09-06 17:59:24 +02:00
Paolo Tranquilli
ac9e977baa Rust: remove accidental test source file 2024-09-06 14:29:10 +02:00
Paolo Tranquilli
18c423eb55 Rust: fix formatting of code snippet in docstring 2024-09-06 14:27:57 +02:00
Paolo Tranquilli
6111a7497d Rust: remove accidental schema annotation 2024-09-06 14:26:36 +02:00
Paolo Tranquilli
8c5cc2efdc Rust: generate test code from schema docstrings
This generates test source files from code blocks in class docstrings.

By default the test code is generated as is, but it can optionally:
* be wrapped in a function providing an adequate context using
  `@rust.doc_test_function(name, *, lifetimes=(), return_type="()", **kwargs)`,
  with `kwargs` providing both generic and normal params depending on
  capitalization
* be skipped altogether using `@rust.skip_doc_test`

So for example an annotation like
```python
@rust.doc_test_function("foo",
                        lifetimes=("a",),
                        T="Eq",
                        x="&'a T",
                        y="&'a T",
                        return_type="&'a T")
```
will result in the following wrapper:
```rust
fn foo<'a, T: Eq>(x: &'a T, y: &'a T) -> &'a T {
    // example code here
}
```
2024-09-06 14:24:42 +02:00
Arthur Baars
a33c7703cd Add Label class 2024-09-06 12:42:43 +02:00
Arthur Baars
e14b626917 Add 'BlockBase' class 2024-09-06 12:15:35 +02:00
Arthur Baars
ce2fdb3463 Address comments 2024-09-06 11:47:08 +02:00
Arthur Baars
46d6bbb458 Rust: update generated code 2024-09-05 16:59:29 +02:00
Arthur Baars
d93330bc4c Rust: make printAst work 2024-09-05 14:49:36 +02:00
Paolo Tranquilli
885e89a927 Rust: first running tests 2024-08-30 17:45:51 +02:00
Paolo Tranquilli
4f0fe1ce3a Rust: bazel packaging 2024-08-30 13:05:46 +02:00
Paolo Tranquilli
590a146b49 Rust: some basic extraction of function names (with locations!) 2024-08-29 17:58:50 +02:00