Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: rust plugin rename rust keywords with trail underscore #96

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: CI
on:
push:
branches: [ master, develop, staging, trying ]
branches: [master, develop, staging, trying]
pull_request:
branches: [ master ]
branches: [master]
defaults:
run:
shell: bash
Expand Down Expand Up @@ -38,19 +38,19 @@ jobs:
run: make clippy
test-msrv:
name: Tests / Build (MSRV)
needs: [ rustfmt, clippy ]
needs: [rustfmt, clippy]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.56.1 # MSRV
toolchain: 1.75.0 # MSRV
- name: Run
run: make ci-msrv
test-crates:
name: Tests / Build & Test
needs: [ rustfmt, clippy ]
needs: [rustfmt, clippy]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -62,7 +62,7 @@ jobs:
run: make ci-crates
test-examples:
name: Tests / Run Examples
needs: [ rustfmt, clippy ]
needs: [rustfmt, clippy]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -75,7 +75,7 @@ jobs:
success:
name: Success
if: ${{ success() }}
needs: [ test-crates, test-examples ]
needs: [test-crates, test-examples]
runs-on: ubuntu-latest
steps:
- name: Succeed
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Implementations in other languages are maintained by respective authors.

## Supported Rust Versions

The minimum supported version is 1.56.1.
The minimum supported version is 1.75.0.
The current Molecule version is not guaranteed to build on Rust versions earlier than the
minimum supported version.

Expand Down
50 changes: 27 additions & 23 deletions examples/ci-tests/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions examples/tests-utils-c/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ authors = ["Nervos Core Dev <[email protected]>"]
edition = "2018"

[dependencies]
codegen = { package ="molecule-codegen", path = "../../tools/codegen" }
tests-loader = { package ="molecule-tests-loader", path = "../tests-loader" }
serde_yaml = "0.8.26"
codegen = { package = "molecule-codegen", path = "../../tools/codegen" }
tests-loader = { package = "molecule-tests-loader", path = "../tests-loader" }
serde_yaml = "0.9"
6 changes: 3 additions & 3 deletions examples/tests-utils-rust/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ edition = "2018"
proc-macro = true

[dependencies]
codegen = { package ="molecule-codegen", path = "../../tools/codegen" }
tests-loader = { package ="molecule-tests-loader", path = "../tests-loader" }
codegen = { package = "molecule-codegen", path = "../../tools/codegen" }
tests-loader = { package = "molecule-tests-loader", path = "../tests-loader" }
syn = "1.0.58"
quote = "1.0.8"
proc-macro2 = "1.0.24"
serde_yaml = "0.8.26"
serde_yaml = "0.9"
49 changes: 45 additions & 4 deletions tests/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions tools/codegen/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ categories = [
"parser-implementations",
"development-tools::build-utils",
"encoding",
"data-structures"
"data-structures",
]
license = "MIT"

Expand All @@ -27,7 +27,7 @@ same-file = "1.0.6"
semver = "0.11.0"
serde = { version = "1.0.195", features = ["derive", "rc"], optional = true }
serde_json = { version = "1.0.111", optional = true }
serde_yaml = { version = "0.8.26", optional = true }
serde_yaml = { version = "0.9", optional = true }

[dev-dependencies]
tempfile = "=3.6.0"
Expand Down
9 changes: 9 additions & 0 deletions tools/codegen/src/ast/verified/complete.rs
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,15 @@ impl super::Ast {
if decls_idx.insert(name, decl).is_some() || !decls_keys.insert(name) {
panic!("the name `{}` is used more than once", name);
};

let decls_keys_clone = decls_keys
.iter()
.cloned()
.map(str::to_lowercase)
.collect::<HashSet<String>>();
if decls_keys_clone.len() != decls_keys.len() {
panic!("the name `{}` is used more than once, It seems that only the capitalization is inconsistent", name);
}
}
let mut decls_result = HashMap::new();
decls_result.insert(
Expand Down
6 changes: 3 additions & 3 deletions tools/codegen/src/compiler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,17 +102,17 @@ impl Compiler {
let output = output.as_mut().ok_or("output is not set")?;

#[cfg(not(feature = "compiler-plugin"))]
let file_name;
let mut file_name = Default::default();
#[cfg(feature = "compiler-plugin")]
let mut file_name = None;

let ast = match input {
Input::SchemaFile(ref file_path) => {
file_name = file_path
file_path
.as_path()
.file_name()
.and_then(ffi::OsStr::to_str)
.to_owned();
.clone_into(&mut file_name);
parser::Parser::parse(file_path)
}
#[cfg(feature = "compiler-plugin")]
Expand Down
2 changes: 1 addition & 1 deletion tools/codegen/src/generator/languages/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::{convert::TryFrom, fmt, io};
use crate::ast;

mod c;
mod rust;
pub(crate) mod rust;
mod rust_lazy_reader;

#[derive(Debug, Clone, Copy)]
Expand Down
2 changes: 1 addition & 1 deletion tools/codegen/src/generator/languages/rust/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use quote::quote;

use crate::{ast, VERSION};

mod utilities;
pub(crate) mod utilities;

mod builder;
mod entity;
Expand Down
Loading
Loading