Skip to content
Open
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
18 changes: 7 additions & 11 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ rust-version = "1.74"

[features]
default = ["with-serde"]
with-serde = ["dep:serde"]
serde = ["dep:serde"]
# This feature is deprecated per clippy::redundant_feature_names. Use `serde` instead.
with-serde = ["serde"]

[dependencies]
derive-getters = "0.5"
Expand All @@ -31,20 +33,14 @@ unused_qualifications = "warn"
[lints.clippy]
cargo = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
# Verified allows
ref_option = "allow" # required by derive-getters
redundant_feature_names = "allow" # remove once with-serde feature is removed
# TODO: fix these if it makes sense
doc_markdown = "allow" # 36
#doc_markdown = "allow" # 36
enum_variant_names = "allow" # 20
must_use_candidate = "allow" # 12
struct_field_names = "allow" # 10
missing_errors_doc = "allow" # 8
similar_names = "allow" # 4
redundant_feature_names = "allow" # 4
needless_pass_by_value = "allow" # 4
cargo_common_metadata = "allow" # 4
upper_case_acronyms = "allow" # 2
trivially_copy_pass_by_ref = "allow" # 2
ref_option = "allow" # 2
match_wildcard_for_single_variants = "allow" # 2
cast_possible_truncation = "allow" # 2
match_same_arms = "allow" # 1
items_after_test_module = "allow" # 1
44 changes: 22 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,28 +66,28 @@ can-dbc = "3.0"

# Implemented DBC parts

- [x] version
- [x] new_symbols
- [x] bit_timing *(deprecated but mandatory)*
- [x] nodes
- [x] value_tables
- [x] messages
- [x] message_transmitters
- [x] environment_variables
- [x] environment_variables_data
- [x] signal_types
- [x] comments
- [x] attribute_definitions
- [ ] sigtype_attr_list *(format missing documentation)*
- [x] attribute_defaults
- [x] attribute_values
- [x] value_descriptions
- [ ] category_definitions *(deprecated)*
- [ ] categories *(deprecated)*
- [ ] filter *(deprecated)*
- [x] signal_type_refs
- [x] signal_groups
- [x] signal_extended_value_type_list
- [x] `version`
- [x] `new_symbols`
- [x] `bit_timing` *(deprecated but mandatory)*
- [x] `nodes`
- [x] `value_tables`
- [x] `messages`
- [x] `message_transmitters`
- [x] `environment_variables`
- [x] `environment_variables_data`
- [x] `signal_types`
- [x] `comments`
- [x] `attribute_definitions`
- [ ] `sigtype_attr_list` *(format missing documentation)*
- [x] `attribute_defaults`
- [x] `attribute_values`
- [x] `value_descriptions`
- [ ] `category_definitions` *(deprecated)*
- [ ] `categories` *(deprecated)*
- [ ] `filter` *(deprecated)*
- [x] `signal_type_refs`
- [x] `signal_groups`
- [x] `signal_extended_value_type_list`

# Deviating from standard
- multispace between parsers instead of single space allowing e.g. (two spaces) `SIG_GROUP 13`.
Expand Down
2 changes: 2 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,8 @@ pub struct SignalExtendedValueTypeList {
}

#[derive(Clone, Debug, PartialEq, Getters, Serialize, Deserialize)]
// TODO: consider renaming to `Dbc`
#[allow(clippy::upper_case_acronyms)]
pub struct DBC {
/// Version generated by DB editor
version: Version,
Expand Down
6 changes: 3 additions & 3 deletions src/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ mod tests {
let (_, cid2) = c_ident(def2).unwrap();
assert_eq!("_EALL_DUSasb18", cid2);

// identifiers must not start with digit1s
// identifiers must not start with digits
let def3 = "3EALL_DUSasb18 ";
let cid3_result = c_ident(def3);
assert!(cid3_result.is_err());
Expand Down Expand Up @@ -713,8 +713,8 @@ fn brk_close(s: &str) -> IResult<&str, char> {
char(']').parse(s)
}

/// A valid C_identifier. C_identifiers start with a alphacharacter or an underscore
/// and may further consist of alpha­numeric, characters and underscore
/// A valid `C_identifier`. `C_identifier`s start with an alpha character or an underscore
/// and may further consist of alphanumeric characters and underscore
fn c_ident(s: &str) -> IResult<&str, String> {
let (s, head) = take_while1(is_c_ident_head).parse(s)?;
let (s, remaining) = take_while(is_c_string_char).parse(s)?;
Expand Down