Arthur Baars
85e51bf0ec
Rust: PrintAstNode: tolerate elements without toString
2024-09-09 13:29:49 +02:00
Arthur Baars
b40476423b
Rust: schema.py add '| child' markers
2024-09-09 13:29:45 +02:00
Arthur Baars
6acc107021
Prevent a panic on generated labels
2024-09-09 13:25:46 +02:00
Arthur Baars
6e6942b1d7
Rust: initial extractor for expressions and patterns
2024-09-09 13:25:45 +02:00
Arthur Baars
da8750e95e
Rust: extract each project only once
2024-09-09 13:25:44 +02:00
Arthur Baars
7c4383975f
Filter out trailing empty strings
2024-09-09 13:25:43 +02:00
Paolo Tranquilli
d6b8dd15a9
Rust: add dummy integration test
2024-09-09 12:57:47 +02:00
Paolo Tranquilli
b0ca7935d7
Rust: update generated list file
2024-09-09 12:32:54 +02:00
Paolo Tranquilli
573b8b9373
Merge branch 'rust-experiment' into redsun82/rust-ci
2024-09-09 12:32:02 +02:00
Paolo Tranquilli
56e127849f
Rust/Codegen: fix generated list files
2024-09-09 12:31:09 +02:00
Paolo Tranquilli
10a23c0843
Merge branch 'rust-experiment' into redsun82/rust-doctest-gen
2024-09-09 12:20:55 +02:00
Paolo Tranquilli
ee2a8b09f6
Rust: fix formatting
2024-09-09 12:11:50 +02:00
Arthur Baars
ef34d24e53
Merge pull request #17390 from github/aibaars/rust-experiment
...
Add Expr, Stmt, Pat to schema.py
2024-09-09 11:27:53 +02:00
Paolo Tranquilli
7637393f75
Rust: resolve clippy and rustc warnings
2024-09-09 10:28:50 +02:00
Arthur Baars
c8f73587cc
Rust: codegen: fix generated code
2024-09-07 10:32:59 +02:00
Arthur Baars
1a9b2329f4
Add SlicePat::{slice, suffix}
2024-09-06 19:27:35 +02:00
Arthur Baars
406d03edfc
Rename IfLet::else_branch to IfLet::else_
2024-09-06 18:40:03 +02:00
Arthur Baars
e8277015ab
Add subclasses for Array
2024-09-06 18:23:01 +02:00
Arthur Baars
69b05e835c
Add fields for OffsetOf
2024-09-06 18:17:15 +02:00
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
Paolo Tranquilli
122e5a7598
Rust: remove accidental IDE files
2024-09-06 12:05:11 +02:00
Arthur Baars
ce2fdb3463
Address comments
2024-09-06 11:47:08 +02:00
Paolo Tranquilli
8ecba44ea9
Rust: add experimental bazel target
2024-09-06 09:29:54 +02:00
Arthur Baars
679d81ab00
Rust: extract dummy Function body
2024-09-05 16:59:30 +02:00
Arthur Baars
46d6bbb458
Rust: update generated code
2024-09-05 16:59:29 +02:00
Arthur Baars
76c35bec93
Rust: add Expr, Pat, Stmt to schema
2024-09-05 16:59:28 +02:00
Arthur Baars
0516505033
Rust: update dependencies
2024-09-05 16:58:41 +02:00
Arthur Baars
6fd469c807
Rust: use autodiscovery for sysroot
...
This should make the rust-analyzer library look for a rust toolchain and
try to start the proc-macro server.
2024-09-05 14:49:37 +02:00
Arthur Baars
d93330bc4c
Rust: make printAst work
2024-09-05 14:49:36 +02:00
Arthur Baars
d8eb5d463d
Rust: run cargo fmt
2024-09-05 14:45:47 +02:00
Arthur Baars
60b349f7e5
Rust: remove 'take(1)' from crates iterator
2024-09-05 14:45:46 +02:00
Arthur Baars
be16954521
Rust: add autobuild.sh
2024-09-05 14:45:45 +02:00
Arthur Baars
52ef1e382a
Add 'version' field to generated Cargo.toml file
2024-09-05 14:45:44 +02:00
Paolo Tranquilli
885e89a927
Rust: first running tests
2024-08-30 17:45:51 +02:00
Paolo Tranquilli
7e1290aa74
Rust: reuse shared rust trap library
2024-08-30 16:08:37 +02:00
Paolo Tranquilli
4f0fe1ce3a
Rust: bazel packaging
2024-08-30 13:05:46 +02:00
Paolo Tranquilli
04753b286f
Rust: tweak trap_key
2024-08-30 10:12:20 +02:00
Paolo Tranquilli
590a146b49
Rust: some basic extraction of function names (with locations!)
2024-08-29 17:58:50 +02:00
Paolo Tranquilli
f40901f391
Rust: archiving + skeleton def translator
2024-08-28 17:15:49 +02:00
Paolo Tranquilli
2a2b79e6df
Rust: skeleton trap file emission code
2024-08-27 17:50:53 +02:00
Paolo Tranquilli
927710017e
Rust: add some configuration and logging
2024-08-27 17:07:23 +02:00
Paolo Tranquilli
0e3c867cb9
Toy rust program listing definitions of a cargo project
2024-08-16 10:37:49 +02:00