Clean warnings

This commit is contained in:
2026-05-04 11:14:57 -07:00
parent 7fbea70860
commit 858c6968d4
6 changed files with 47 additions and 46 deletions
+2 -2
View File
@@ -5,9 +5,9 @@ use roto::google::protobuf::descriptor::{
FileDescriptorSet FileDescriptorSet
}; };
use roto::google::protobuf::compiler::plugin::{ use roto::google::protobuf::compiler::plugin::{
CodeGeneratorRequest, CodeGeneratorResponse, CodeGeneratorResponseBuilder, code_generator_response::{File, FileBuilder}, CodeGeneratorRequest, CodeGeneratorResponseBuilder, code_generator_response::FileBuilder,
}; };
use roto::ProtoBuilder; // use roto::ProtoBuilder;
use std::io::{self, Read, Write}; use std::io::{self, Read, Write};
fn main() { fn main() {
+18 -12
View File
@@ -1,10 +1,7 @@
use crate::google::protobuf::descriptor::{ use crate::google::protobuf::descriptor::{
DescriptorProto, EnumDescriptorProto, FileDescriptorProto, FieldDescriptorProto, FileDescriptorSet DescriptorProto, EnumDescriptorProto, FileDescriptorProto, FieldDescriptorProto, FileDescriptorSet
}; };
use crate::google::protobuf::compiler::plugin::{ use crate::ProtoAccessor;
CodeGeneratorRequest, CodeGeneratorResponse, code_generator_response::File,
};
use crate::{ProtoAccessor, Result, RotoError};
use std::str; use std::str;
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};
@@ -91,7 +88,6 @@ fn write_enum(enum_proto: &EnumDescriptorProto, output: &mut String) {
)); ));
let mut values = enum_proto.value(); let mut values = enum_proto.value();
let mut variant_count = 0;
let mut zero_variant_name = None; let mut zero_variant_name = None;
while let Some(val_res) = values.next() { while let Some(val_res) = values.next() {
let (val_data, _) = val_res.expect("Failed to iterate enum"); let (val_data, _) = val_res.expect("Failed to iterate enum");
@@ -106,7 +102,6 @@ fn write_enum(enum_proto: &EnumDescriptorProto, output: &mut String) {
zero_variant_name = Some(pascal_name.clone()); zero_variant_name = Some(pascal_name.clone());
} }
output.push_str(&format!(" {} = {},\n", pascal_name, num)); output.push_str(&format!(" {} = {},\n", pascal_name, num));
variant_count += 1;
} }
if zero_variant_name.is_none() { if zero_variant_name.is_none() {
@@ -140,11 +135,6 @@ fn write_enum(enum_proto: &EnumDescriptorProto, output: &mut String) {
fn write_message(msg_proto: &DescriptorProto, output: &mut String) { fn write_message(msg_proto: &DescriptorProto, output: &mut String) {
let msg_name = to_pascal_case(msg_proto.name().unwrap()); let msg_name = to_pascal_case(msg_proto.name().unwrap());
output.push_str(&format!(
"pub struct {}<'a> {{\n accessor: crate::ProtoAccessor<'a>,\n",
msg_name
));
let mut fields_info = Vec::new(); let mut fields_info = Vec::new();
for field_res in msg_proto.field() { for field_res in msg_proto.field() {
let (field_data, _) = field_res.expect("Failed to iterate field"); let (field_data, _) = field_res.expect("Failed to iterate field");
@@ -156,8 +146,18 @@ fn write_message(msg_proto: &DescriptorProto, output: &mut String) {
let f_label = field_proto.label().unwrap() as i32; let f_label = field_proto.label().unwrap() as i32;
fields_info.push((field_name.to_string(), tag, f_type, f_label)); fields_info.push((field_name.to_string(), tag, f_type, f_label));
}
if f_label == 3 { output.push_str(&format!(
"pub struct {}<'a> {{\n",
msg_name
));
if !fields_info.is_empty() {
output.push_str(" accessor: crate::ProtoAccessor<'a>,\n");
}
for (field_name, _tag, _f_type, f_label) in &fields_info {
if *f_label == 3 {
output.push_str(&format!(" {}_start: Option<usize>,\n", field_name)); output.push_str(&format!(" {}_start: Option<usize>,\n", field_name));
output.push_str(&format!(" {}_end: Option<usize>,\n", field_name)); output.push_str(&format!(" {}_end: Option<usize>,\n", field_name));
} else { } else {
@@ -168,6 +168,7 @@ fn write_message(msg_proto: &DescriptorProto, output: &mut String) {
output.push_str(&format!("impl<'a> {}<'a> {{\n", msg_name)); output.push_str(&format!("impl<'a> {}<'a> {{\n", msg_name));
output.push_str(" pub fn new(data: &'a [u8]) -> crate::Result<Self> {\n"); output.push_str(" pub fn new(data: &'a [u8]) -> crate::Result<Self> {\n");
if !fields_info.is_empty() {
output.push_str(" let accessor = crate::ProtoAccessor::new(data)?;\n"); output.push_str(" let accessor = crate::ProtoAccessor::new(data)?;\n");
for (name, _, _, label) in &fields_info { for (name, _, _, label) in &fields_info {
@@ -193,9 +194,14 @@ fn write_message(msg_proto: &DescriptorProto, output: &mut String) {
} }
} }
output.push_str(" }\n\n"); output.push_str(" }\n\n");
} else {
output.push_str(" let _ = crate::ProtoAccessor::new(data)?;\n");
}
output.push_str(" Ok(Self {\n"); output.push_str(" Ok(Self {\n");
if !fields_info.is_empty() {
output.push_str(" accessor,\n"); output.push_str(" accessor,\n");
}
for (name, _, _, label) in &fields_info { for (name, _, _, label) in &fields_info {
if *label == 3 { if *label == 3 {
output.push_str(&format!("{}_start, {}_end,\n", name, name)); output.push_str(&format!("{}_start, {}_end,\n", name, name));
+1 -3
View File
@@ -1,7 +1,6 @@
use crate::{ProtoAccessor, ProtoBuilder, Result, RotoError, read_varint, RepeatedFieldIterator};
use std::str; use std::str;
use crate::google::protobuf::descriptor; // use crate::google::protobuf::descriptor;
pub struct Version<'a> { pub struct Version<'a> {
accessor: crate::ProtoAccessor<'a>, accessor: crate::ProtoAccessor<'a>,
@@ -454,4 +453,3 @@ impl<'b> FileBuilder<'b> {
} }
} }
+4 -6
View File
@@ -1,4 +1,3 @@
use crate::{ProtoAccessor, ProtoBuilder, Result, RotoError, read_varint, RepeatedFieldIterator};
use std::str; use std::str;
@@ -3948,6 +3947,7 @@ impl EnforceNamingStyle {
} }
pub struct VisibilityFeature<'a> { pub struct VisibilityFeature<'a> {
#[allow(dead_code)]
accessor: crate::ProtoAccessor<'a>, accessor: crate::ProtoAccessor<'a>,
} }
@@ -3955,14 +3955,13 @@ impl<'a> VisibilityFeature<'a> {
pub fn new(data: &'a [u8]) -> crate::Result<Self> { pub fn new(data: &'a [u8]) -> crate::Result<Self> {
let accessor = crate::ProtoAccessor::new(data)?; let accessor = crate::ProtoAccessor::new(data)?;
for item in accessor.fields() { for item in accessor.fields() {
let (offset, tag, _) = item?; let (_offset, _tag, _) = item?;
} }
Ok(Self { Ok(Self {
accessor, accessor,
}) })
} }
} }
pub struct VisibilityFeatureBuilder<'b> { pub struct VisibilityFeatureBuilder<'b> {
@@ -4008,6 +4007,7 @@ impl DefaultSymbolVisibility {
} }
pub struct ProtoLimitsFeature<'a> { pub struct ProtoLimitsFeature<'a> {
#[allow(dead_code)]
accessor: crate::ProtoAccessor<'a>, accessor: crate::ProtoAccessor<'a>,
} }
@@ -4015,14 +4015,13 @@ impl<'a> ProtoLimitsFeature<'a> {
pub fn new(data: &'a [u8]) -> crate::Result<Self> { pub fn new(data: &'a [u8]) -> crate::Result<Self> {
let accessor = crate::ProtoAccessor::new(data)?; let accessor = crate::ProtoAccessor::new(data)?;
for item in accessor.fields() { for item in accessor.fields() {
let (offset, tag, _) = item?; let (_offset, _tag, _) = item?;
} }
Ok(Self { Ok(Self {
accessor, accessor,
}) })
} }
} }
pub struct ProtoLimitsFeatureBuilder<'b> { pub struct ProtoLimitsFeatureBuilder<'b> {
@@ -4611,4 +4610,3 @@ impl Semantic {
} }
} }
+1 -2
View File
@@ -1,11 +1,10 @@
use std::fs; use std::fs;
use std::process::Command; use std::process::Command;
use std::path::PathBuf;
use roto::google::protobuf::descriptor::{ use roto::google::protobuf::descriptor::{
FileDescriptorSet FileDescriptorSet
}; };
use roto::google::protobuf::compiler::plugin::{ use roto::google::protobuf::compiler::plugin::{
CodeGeneratorRequest, CodeGeneratorResponse, CodeGeneratorResponseBuilder, code_generator_response::{File, FileBuilder}, CodeGeneratorRequest,
}; };
#[test] #[test]
+1 -1
View File
@@ -18,7 +18,7 @@ fn test_nested_proto_generation_contains_modules() {
// but request.bin is usually a CodeGeneratorRequest. // but request.bin is usually a CodeGeneratorRequest.
// Let's use the same logic as build_generated_code.rs to get a FileDescriptorSet // Let's use the same logic as build_generated_code.rs to get a FileDescriptorSet
let request = roto::proto_gen::google::protobuf::compiler::plugin::CodeGeneratorRequest::new(&data) let request = roto::google::protobuf::compiler::plugin::CodeGeneratorRequest::new(&data)
.expect("Failed to parse CodeGeneratorRequest"); .expect("Failed to parse CodeGeneratorRequest");
let mut set_buf = Vec::new(); let mut set_buf = Vec::new();