1mod _root {
2    #[allow(unused)]
3    pub(crate) use super::super::_root::*;
4}
5mod _puroro {
6    #[allow(unused)]
7    pub(crate) use super::_root::_puroro::*;
8}
9mod _pinternal {
10    #[allow(unused)]
11    pub(crate) use super::_root::_pinternal::*;
12}
13pub mod code_generator_response;
14pub struct Version(
17    ::std::boxed::Box<self::_root::google::protobuf::compiler::_view::VersionView>,
18);
19impl Version {
20    pub fn major_mut(&mut self) -> &mut i32 {
21        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
22        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
23            .0;
24        NonRepeatedFieldType::get_field_mut(
25            &mut mut_view.fields.major,
26            mut_view.shared.bitfield_mut(),
27            ::std::default::Default::default,
28        )
29    }
30    pub fn clear_major(&mut self) {
31        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
32        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
33            .0;
34        NonRepeatedFieldType::clear(
35            &mut mut_view.fields.major,
36            mut_view.shared.bitfield_mut(),
37        )
38    }
39    pub fn minor_mut(&mut self) -> &mut i32 {
40        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
41        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
42            .0;
43        NonRepeatedFieldType::get_field_mut(
44            &mut mut_view.fields.minor,
45            mut_view.shared.bitfield_mut(),
46            ::std::default::Default::default,
47        )
48    }
49    pub fn clear_minor(&mut self) {
50        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
51        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
52            .0;
53        NonRepeatedFieldType::clear(
54            &mut mut_view.fields.minor,
55            mut_view.shared.bitfield_mut(),
56        )
57    }
58    pub fn patch_mut(&mut self) -> &mut i32 {
59        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
60        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
61            .0;
62        NonRepeatedFieldType::get_field_mut(
63            &mut mut_view.fields.patch,
64            mut_view.shared.bitfield_mut(),
65            ::std::default::Default::default,
66        )
67    }
68    pub fn clear_patch(&mut self) {
69        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
70        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
71            .0;
72        NonRepeatedFieldType::clear(
73            &mut mut_view.fields.patch,
74            mut_view.shared.bitfield_mut(),
75        )
76    }
77    pub fn suffix_mut(&mut self) -> &mut ::std::string::String {
78        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
79        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
80            .0;
81        NonRepeatedFieldType::get_field_mut(
82            &mut mut_view.fields.suffix,
83            mut_view.shared.bitfield_mut(),
84            ::std::default::Default::default,
85        )
86    }
87    pub fn clear_suffix(&mut self) {
88        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
89        let mut_view: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
90            .0;
91        NonRepeatedFieldType::clear(
92            &mut mut_view.fields.suffix,
93            mut_view.shared.bitfield_mut(),
94        )
95    }
96    pub const MAJOR_FIELD_NUMBER: i32 = 1i32;
97    pub const MINOR_FIELD_NUMBER: i32 = 2i32;
98    pub const PATCH_FIELD_NUMBER: i32 = 3i32;
99    pub const SUFFIX_FIELD_NUMBER: i32 = 4i32;
100}
101impl self::_puroro::Message for Version {
102    type ViewType = self::_root::google::protobuf::compiler::_view::VersionView;
103    fn from_bytes_iter<I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>>(
104        iter: I,
105    ) -> self::_puroro::Result<Self> {
106        let mut msg = <Self as ::std::default::Default>::default();
107        msg.merge_from_bytes_iter(iter)?;
108        ::std::result::Result::Ok(msg)
109    }
110    fn merge_from_bytes_iter<I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>>(
111        &mut self,
112        iter: I,
113    ) -> self::_puroro::Result<()> {
114        let mut pos_iter = self::_pinternal::PosIter::new(iter);
115        let mut scoped_iter = self::_pinternal::ScopedIter::from_mut_pos_iter(
116            &mut pos_iter,
117        );
118        <Self as self::_pinternal::MessageInternal>::merge_from_scoped_bytes_iter(
119            self,
120            &mut scoped_iter,
121        )?;
122        scoped_iter.drop_and_check_scope_completed()?;
123        Ok(())
124    }
125}
126impl self::_pinternal::MessageInternal for Version {
127    fn merge_from_scoped_bytes_iter<
128        'a,
129        I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>,
130    >(
131        &mut self,
132        iter: &mut self::_pinternal::ScopedIter<'a, I>,
133    ) -> self::_puroro::Result<()> {
134        use self::_pinternal::ser::FieldData;
135        #[allow(unused)]
136        use self::_pinternal::OneofUnion as _;
137        use self::_pinternal::{SharedItems as _, UnknownFields as _};
138        #[allow(unused)]
139        use ::std::result::Result;
140        #[allow(unused)]
141        use ::std::result::Result::{Ok, Err};
142        #[allow(unused)]
143        use ::std::vec::Vec;
144        use self::_puroro::PuroroError;
145        while let Some((number, field_data))
146            = FieldData::from_bytes_scoped_iter(iter.by_ref())? {
147            let result: self::_puroro::Result<()> = (|| {
148                match number {
149                    1i32 => {
150                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
151                            .0;
152                        self::_pinternal::FieldType::deser_from_field_data(
153                            &mut view_ref.fields.major,
154                            view_ref.shared.bitfield_mut(),
155                            field_data,
156                        )?
157                    }
158                    2i32 => {
159                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
160                            .0;
161                        self::_pinternal::FieldType::deser_from_field_data(
162                            &mut view_ref.fields.minor,
163                            view_ref.shared.bitfield_mut(),
164                            field_data,
165                        )?
166                    }
167                    3i32 => {
168                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
169                            .0;
170                        self::_pinternal::FieldType::deser_from_field_data(
171                            &mut view_ref.fields.patch,
172                            view_ref.shared.bitfield_mut(),
173                            field_data,
174                        )?
175                    }
176                    4i32 => {
177                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::VersionView = &mut self
178                            .0;
179                        self::_pinternal::FieldType::deser_from_field_data(
180                            &mut view_ref.fields.suffix,
181                            view_ref.shared.bitfield_mut(),
182                            field_data,
183                        )?
184                    }
185                    _ => {
186                        let field_data = field_data
187                            .map(|iter| { iter.collect::<Result<Vec<_>, _>>() })
188                            .transpose()?;
189                        Err(PuroroError::UnknownFieldNumber(field_data))?
190                    }
191                }
192                Ok(())
193            })();
194            match result {
195                Ok(_) => {}
196                Err(PuroroError::UnknownFieldNumber(field_data)) => {
197                    self.0.shared.unknown_fields_mut().push(number, field_data)?;
198                }
199                Err(e) => Err(e)?,
200            }
201        }
202        Ok(())
203    }
204}
205impl ::std::borrow::Borrow<self::_root::google::protobuf::compiler::_view::VersionView>
206for Version {
207    fn borrow(&self) -> &self::_root::google::protobuf::compiler::_view::VersionView {
208        &self
209    }
210}
211impl ::std::clone::Clone for Version {
212    fn clone(&self) -> Self {
213        #[allow(unused)]
214        use ::std::borrow::ToOwned;
215        <self::_root::google::protobuf::compiler::_view::VersionView as ToOwned>::to_owned(
216            &self,
217        )
218    }
219}
220impl ::std::fmt::Debug for Version {
221    fn fmt(
222        &self,
223        fmt: &mut ::std::fmt::Formatter<'_>,
224    ) -> ::std::result::Result<(), ::std::fmt::Error> {
225        <self::_root::google::protobuf::compiler::_view::VersionView as ::std::fmt::Debug>::fmt(
226            &self,
227            fmt,
228        )
229    }
230}
231impl ::std::default::Default for self::Version {
232    fn default() -> Self {
233        Self(
234            <self::_root::google::protobuf::compiler::_view::VersionView as self::_pinternal::MessageViewInternal>::new_boxed(),
235        )
236    }
237}
238impl ::std::ops::Deref for Version {
239    type Target = self::_root::google::protobuf::compiler::_view::VersionView;
240    fn deref(&self) -> &Self::Target {
241        <::std::boxed::Box<_> as ::std::ops::Deref>::deref(&self.0)
242    }
243}
244impl ::std::cmp::PartialEq for Version {
245    fn eq(&self, rhs: &Self) -> bool {
246        <self::_root::google::protobuf::compiler::_view::VersionView as ::std::cmp::PartialEq>::eq(
247            &self.0,
248            &rhs.0,
249        )
250    }
251}
252pub struct CodeGeneratorRequest(
255    ::std::boxed::Box<
256        self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView,
257    >,
258);
259impl CodeGeneratorRequest {
260    pub fn file_to_generate_mut(
261        &mut self,
262    ) -> &mut ::std::vec::Vec::<::std::string::String> {
263        use self::_pinternal::{RepeatedFieldType, SharedItems as _};
264        RepeatedFieldType::get_field_mut(
265            &mut self.0.fields.file_to_generate,
266            self.0.shared.bitfield_mut(),
267        )
268    }
269    pub fn clear_file_to_generate(&mut self) {
270        use self::_pinternal::{RepeatedFieldType, SharedItems as _};
271        RepeatedFieldType::clear(
272            &mut self.0.fields.file_to_generate,
273            self.0.shared.bitfield_mut(),
274        )
275    }
276    pub fn parameter_mut(&mut self) -> &mut ::std::string::String {
277        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
278        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
279            .0;
280        NonRepeatedFieldType::get_field_mut(
281            &mut mut_view.fields.parameter,
282            mut_view.shared.bitfield_mut(),
283            ::std::default::Default::default,
284        )
285    }
286    pub fn clear_parameter(&mut self) {
287        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
288        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
289            .0;
290        NonRepeatedFieldType::clear(
291            &mut mut_view.fields.parameter,
292            mut_view.shared.bitfield_mut(),
293        )
294    }
295    pub fn proto_file_mut(
296        &mut self,
297    ) -> &mut ::std::vec::Vec::<self::_root::google::protobuf::FileDescriptorProto> {
298        use self::_pinternal::{RepeatedFieldType, SharedItems as _};
299        RepeatedFieldType::get_field_mut(
300            &mut self.0.fields.proto_file,
301            self.0.shared.bitfield_mut(),
302        )
303    }
304    pub fn clear_proto_file(&mut self) {
305        use self::_pinternal::{RepeatedFieldType, SharedItems as _};
306        RepeatedFieldType::clear(
307            &mut self.0.fields.proto_file,
308            self.0.shared.bitfield_mut(),
309        )
310    }
311    pub fn compiler_version_mut(
312        &mut self,
313    ) -> &mut self::_root::google::protobuf::compiler::Version {
314        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
315        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
316            .0;
317        NonRepeatedFieldType::get_field_mut(
318            &mut mut_view.fields.compiler_version,
319            mut_view.shared.bitfield_mut(),
320            ::std::default::Default::default,
321        )
322    }
323    pub fn clear_compiler_version(&mut self) {
324        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
325        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
326            .0;
327        NonRepeatedFieldType::clear(
328            &mut mut_view.fields.compiler_version,
329            mut_view.shared.bitfield_mut(),
330        )
331    }
332    pub const FILE_TO_GENERATE_FIELD_NUMBER: i32 = 1i32;
333    pub const PARAMETER_FIELD_NUMBER: i32 = 2i32;
334    pub const PROTO_FILE_FIELD_NUMBER: i32 = 15i32;
335    pub const COMPILER_VERSION_FIELD_NUMBER: i32 = 3i32;
336}
337impl self::_puroro::Message for CodeGeneratorRequest {
338    type ViewType = self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView;
339    fn from_bytes_iter<I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>>(
340        iter: I,
341    ) -> self::_puroro::Result<Self> {
342        let mut msg = <Self as ::std::default::Default>::default();
343        msg.merge_from_bytes_iter(iter)?;
344        ::std::result::Result::Ok(msg)
345    }
346    fn merge_from_bytes_iter<I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>>(
347        &mut self,
348        iter: I,
349    ) -> self::_puroro::Result<()> {
350        let mut pos_iter = self::_pinternal::PosIter::new(iter);
351        let mut scoped_iter = self::_pinternal::ScopedIter::from_mut_pos_iter(
352            &mut pos_iter,
353        );
354        <Self as self::_pinternal::MessageInternal>::merge_from_scoped_bytes_iter(
355            self,
356            &mut scoped_iter,
357        )?;
358        scoped_iter.drop_and_check_scope_completed()?;
359        Ok(())
360    }
361}
362impl self::_pinternal::MessageInternal for CodeGeneratorRequest {
363    fn merge_from_scoped_bytes_iter<
364        'a,
365        I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>,
366    >(
367        &mut self,
368        iter: &mut self::_pinternal::ScopedIter<'a, I>,
369    ) -> self::_puroro::Result<()> {
370        use self::_pinternal::ser::FieldData;
371        #[allow(unused)]
372        use self::_pinternal::OneofUnion as _;
373        use self::_pinternal::{SharedItems as _, UnknownFields as _};
374        #[allow(unused)]
375        use ::std::result::Result;
376        #[allow(unused)]
377        use ::std::result::Result::{Ok, Err};
378        #[allow(unused)]
379        use ::std::vec::Vec;
380        use self::_puroro::PuroroError;
381        while let Some((number, field_data))
382            = FieldData::from_bytes_scoped_iter(iter.by_ref())? {
383            let result: self::_puroro::Result<()> = (|| {
384                match number {
385                    1i32 => {
386                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
387                            .0;
388                        self::_pinternal::FieldType::deser_from_field_data(
389                            &mut view_ref.fields.file_to_generate,
390                            view_ref.shared.bitfield_mut(),
391                            field_data,
392                        )?
393                    }
394                    2i32 => {
395                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
396                            .0;
397                        self::_pinternal::FieldType::deser_from_field_data(
398                            &mut view_ref.fields.parameter,
399                            view_ref.shared.bitfield_mut(),
400                            field_data,
401                        )?
402                    }
403                    15i32 => {
404                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
405                            .0;
406                        self::_pinternal::FieldType::deser_from_field_data(
407                            &mut view_ref.fields.proto_file,
408                            view_ref.shared.bitfield_mut(),
409                            field_data,
410                        )?
411                    }
412                    3i32 => {
413                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView = &mut self
414                            .0;
415                        self::_pinternal::FieldType::deser_from_field_data(
416                            &mut view_ref.fields.compiler_version,
417                            view_ref.shared.bitfield_mut(),
418                            field_data,
419                        )?
420                    }
421                    _ => {
422                        let field_data = field_data
423                            .map(|iter| { iter.collect::<Result<Vec<_>, _>>() })
424                            .transpose()?;
425                        Err(PuroroError::UnknownFieldNumber(field_data))?
426                    }
427                }
428                Ok(())
429            })();
430            match result {
431                Ok(_) => {}
432                Err(PuroroError::UnknownFieldNumber(field_data)) => {
433                    self.0.shared.unknown_fields_mut().push(number, field_data)?;
434                }
435                Err(e) => Err(e)?,
436            }
437        }
438        Ok(())
439    }
440}
441impl ::std::borrow::Borrow<
442    self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView,
443> for CodeGeneratorRequest {
444    fn borrow(
445        &self,
446    ) -> &self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView {
447        &self
448    }
449}
450impl ::std::clone::Clone for CodeGeneratorRequest {
451    fn clone(&self) -> Self {
452        #[allow(unused)]
453        use ::std::borrow::ToOwned;
454        <self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView as ToOwned>::to_owned(
455            &self,
456        )
457    }
458}
459impl ::std::fmt::Debug for CodeGeneratorRequest {
460    fn fmt(
461        &self,
462        fmt: &mut ::std::fmt::Formatter<'_>,
463    ) -> ::std::result::Result<(), ::std::fmt::Error> {
464        <self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView as ::std::fmt::Debug>::fmt(
465            &self,
466            fmt,
467        )
468    }
469}
470impl ::std::default::Default for self::CodeGeneratorRequest {
471    fn default() -> Self {
472        Self(
473            <self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView as self::_pinternal::MessageViewInternal>::new_boxed(),
474        )
475    }
476}
477impl ::std::ops::Deref for CodeGeneratorRequest {
478    type Target = self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView;
479    fn deref(&self) -> &Self::Target {
480        <::std::boxed::Box<_> as ::std::ops::Deref>::deref(&self.0)
481    }
482}
483impl ::std::cmp::PartialEq for CodeGeneratorRequest {
484    fn eq(&self, rhs: &Self) -> bool {
485        <self::_root::google::protobuf::compiler::_view::CodeGeneratorRequestView as ::std::cmp::PartialEq>::eq(
486            &self.0,
487            &rhs.0,
488        )
489    }
490}
491pub struct CodeGeneratorResponse(
494    ::std::boxed::Box<
495        self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView,
496    >,
497);
498impl CodeGeneratorResponse {
499    pub fn error_mut(&mut self) -> &mut ::std::string::String {
500        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
501        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView = &mut self
502            .0;
503        NonRepeatedFieldType::get_field_mut(
504            &mut mut_view.fields.error,
505            mut_view.shared.bitfield_mut(),
506            ::std::default::Default::default,
507        )
508    }
509    pub fn clear_error(&mut self) {
510        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
511        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView = &mut self
512            .0;
513        NonRepeatedFieldType::clear(
514            &mut mut_view.fields.error,
515            mut_view.shared.bitfield_mut(),
516        )
517    }
518    pub fn supported_features_mut(&mut self) -> &mut u64 {
519        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
520        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView = &mut self
521            .0;
522        NonRepeatedFieldType::get_field_mut(
523            &mut mut_view.fields.supported_features,
524            mut_view.shared.bitfield_mut(),
525            ::std::default::Default::default,
526        )
527    }
528    pub fn clear_supported_features(&mut self) {
529        use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
530        let mut_view: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView = &mut self
531            .0;
532        NonRepeatedFieldType::clear(
533            &mut mut_view.fields.supported_features,
534            mut_view.shared.bitfield_mut(),
535        )
536    }
537    pub fn file_mut(
538        &mut self,
539    ) -> &mut ::std::vec::Vec::<
540        self::_root::google::protobuf::compiler::code_generator_response::File,
541    > {
542        use self::_pinternal::{RepeatedFieldType, SharedItems as _};
543        RepeatedFieldType::get_field_mut(
544            &mut self.0.fields.file,
545            self.0.shared.bitfield_mut(),
546        )
547    }
548    pub fn clear_file(&mut self) {
549        use self::_pinternal::{RepeatedFieldType, SharedItems as _};
550        RepeatedFieldType::clear(&mut self.0.fields.file, self.0.shared.bitfield_mut())
551    }
552    pub const ERROR_FIELD_NUMBER: i32 = 1i32;
553    pub const SUPPORTED_FEATURES_FIELD_NUMBER: i32 = 2i32;
554    pub const FILE_FIELD_NUMBER: i32 = 15i32;
555}
556impl self::_puroro::Message for CodeGeneratorResponse {
557    type ViewType = self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView;
558    fn from_bytes_iter<I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>>(
559        iter: I,
560    ) -> self::_puroro::Result<Self> {
561        let mut msg = <Self as ::std::default::Default>::default();
562        msg.merge_from_bytes_iter(iter)?;
563        ::std::result::Result::Ok(msg)
564    }
565    fn merge_from_bytes_iter<I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>>(
566        &mut self,
567        iter: I,
568    ) -> self::_puroro::Result<()> {
569        let mut pos_iter = self::_pinternal::PosIter::new(iter);
570        let mut scoped_iter = self::_pinternal::ScopedIter::from_mut_pos_iter(
571            &mut pos_iter,
572        );
573        <Self as self::_pinternal::MessageInternal>::merge_from_scoped_bytes_iter(
574            self,
575            &mut scoped_iter,
576        )?;
577        scoped_iter.drop_and_check_scope_completed()?;
578        Ok(())
579    }
580}
581impl self::_pinternal::MessageInternal for CodeGeneratorResponse {
582    fn merge_from_scoped_bytes_iter<
583        'a,
584        I: ::std::iter::Iterator<Item = ::std::io::Result<u8>>,
585    >(
586        &mut self,
587        iter: &mut self::_pinternal::ScopedIter<'a, I>,
588    ) -> self::_puroro::Result<()> {
589        use self::_pinternal::ser::FieldData;
590        #[allow(unused)]
591        use self::_pinternal::OneofUnion as _;
592        use self::_pinternal::{SharedItems as _, UnknownFields as _};
593        #[allow(unused)]
594        use ::std::result::Result;
595        #[allow(unused)]
596        use ::std::result::Result::{Ok, Err};
597        #[allow(unused)]
598        use ::std::vec::Vec;
599        use self::_puroro::PuroroError;
600        while let Some((number, field_data))
601            = FieldData::from_bytes_scoped_iter(iter.by_ref())? {
602            let result: self::_puroro::Result<()> = (|| {
603                match number {
604                    1i32 => {
605                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView = &mut self
606                            .0;
607                        self::_pinternal::FieldType::deser_from_field_data(
608                            &mut view_ref.fields.error,
609                            view_ref.shared.bitfield_mut(),
610                            field_data,
611                        )?
612                    }
613                    2i32 => {
614                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView = &mut self
615                            .0;
616                        self::_pinternal::FieldType::deser_from_field_data(
617                            &mut view_ref.fields.supported_features,
618                            view_ref.shared.bitfield_mut(),
619                            field_data,
620                        )?
621                    }
622                    15i32 => {
623                        let view_ref: &mut self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView = &mut self
624                            .0;
625                        self::_pinternal::FieldType::deser_from_field_data(
626                            &mut view_ref.fields.file,
627                            view_ref.shared.bitfield_mut(),
628                            field_data,
629                        )?
630                    }
631                    _ => {
632                        let field_data = field_data
633                            .map(|iter| { iter.collect::<Result<Vec<_>, _>>() })
634                            .transpose()?;
635                        Err(PuroroError::UnknownFieldNumber(field_data))?
636                    }
637                }
638                Ok(())
639            })();
640            match result {
641                Ok(_) => {}
642                Err(PuroroError::UnknownFieldNumber(field_data)) => {
643                    self.0.shared.unknown_fields_mut().push(number, field_data)?;
644                }
645                Err(e) => Err(e)?,
646            }
647        }
648        Ok(())
649    }
650}
651impl ::std::borrow::Borrow<
652    self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView,
653> for CodeGeneratorResponse {
654    fn borrow(
655        &self,
656    ) -> &self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView {
657        &self
658    }
659}
660impl ::std::clone::Clone for CodeGeneratorResponse {
661    fn clone(&self) -> Self {
662        #[allow(unused)]
663        use ::std::borrow::ToOwned;
664        <self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView as ToOwned>::to_owned(
665            &self,
666        )
667    }
668}
669impl ::std::fmt::Debug for CodeGeneratorResponse {
670    fn fmt(
671        &self,
672        fmt: &mut ::std::fmt::Formatter<'_>,
673    ) -> ::std::result::Result<(), ::std::fmt::Error> {
674        <self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView as ::std::fmt::Debug>::fmt(
675            &self,
676            fmt,
677        )
678    }
679}
680impl ::std::default::Default for self::CodeGeneratorResponse {
681    fn default() -> Self {
682        Self(
683            <self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView as self::_pinternal::MessageViewInternal>::new_boxed(),
684        )
685    }
686}
687impl ::std::ops::Deref for CodeGeneratorResponse {
688    type Target = self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView;
689    fn deref(&self) -> &Self::Target {
690        <::std::boxed::Box<_> as ::std::ops::Deref>::deref(&self.0)
691    }
692}
693impl ::std::cmp::PartialEq for CodeGeneratorResponse {
694    fn eq(&self, rhs: &Self) -> bool {
695        <self::_root::google::protobuf::compiler::_view::CodeGeneratorResponseView as ::std::cmp::PartialEq>::eq(
696            &self.0,
697            &rhs.0,
698        )
699    }
700}
701#[doc(hidden)]
702pub mod _view {
703    mod _root {
704        #[allow(unused)]
705        pub(crate) use super::super::_root::*;
706    }
707    mod _puroro {
708        #[allow(unused)]
709        pub(crate) use super::_root::_puroro::*;
710    }
711    mod _pinternal {
712        #[allow(unused)]
713        pub(crate) use super::_root::_pinternal::*;
714    }
715    pub struct VersionView {
716        pub(super) fields: self::_root::google::protobuf::compiler::_fields::VersionFields::<
717            self::_pinternal::OptionalNumericalField::<
718                i32,
719                self::_pinternal::tags::Int32,
720                0usize,
721            >,
722            self::_pinternal::OptionalNumericalField::<
723                i32,
724                self::_pinternal::tags::Int32,
725                1usize,
726            >,
727            self::_pinternal::OptionalNumericalField::<
728                i32,
729                self::_pinternal::tags::Int32,
730                2usize,
731            >,
732            self::_pinternal::OptionalUnsizedField::<
733                ::std::string::String,
734                self::_pinternal::tags::String,
735                3usize,
736            >,
737        >,
738        pub(super) shared: self::_pinternal::SharedItemsImpl<1usize>,
739    }
740    impl VersionView {
741        pub fn major(&self) -> i32 {
742            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
743            NonRepeatedFieldType::get_field_or_else(
744                &self.fields.major,
745                self.shared.bitfield(),
746                ::std::default::Default::default,
747            )
748        }
749        pub fn major_opt(&self) -> ::std::option::Option::<i32> {
750            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
751            NonRepeatedFieldType::get_field_opt(
752                &self.fields.major,
753                self.shared.bitfield(),
754            )
755        }
756        pub fn has_major(&self) -> bool {
757            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
758            NonRepeatedFieldType::get_field_opt(
759                    &self.fields.major,
760                    self.shared.bitfield(),
761                )
762                .is_some()
763        }
764        pub fn minor(&self) -> i32 {
765            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
766            NonRepeatedFieldType::get_field_or_else(
767                &self.fields.minor,
768                self.shared.bitfield(),
769                ::std::default::Default::default,
770            )
771        }
772        pub fn minor_opt(&self) -> ::std::option::Option::<i32> {
773            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
774            NonRepeatedFieldType::get_field_opt(
775                &self.fields.minor,
776                self.shared.bitfield(),
777            )
778        }
779        pub fn has_minor(&self) -> bool {
780            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
781            NonRepeatedFieldType::get_field_opt(
782                    &self.fields.minor,
783                    self.shared.bitfield(),
784                )
785                .is_some()
786        }
787        pub fn patch(&self) -> i32 {
788            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
789            NonRepeatedFieldType::get_field_or_else(
790                &self.fields.patch,
791                self.shared.bitfield(),
792                ::std::default::Default::default,
793            )
794        }
795        pub fn patch_opt(&self) -> ::std::option::Option::<i32> {
796            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
797            NonRepeatedFieldType::get_field_opt(
798                &self.fields.patch,
799                self.shared.bitfield(),
800            )
801        }
802        pub fn has_patch(&self) -> bool {
803            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
804            NonRepeatedFieldType::get_field_opt(
805                    &self.fields.patch,
806                    self.shared.bitfield(),
807                )
808                .is_some()
809        }
810        pub fn suffix(&self) -> &str {
811            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
812            NonRepeatedFieldType::get_field_or_else(
813                &self.fields.suffix,
814                self.shared.bitfield(),
815                ::std::default::Default::default,
816            )
817        }
818        pub fn suffix_opt(&self) -> ::std::option::Option::<&str> {
822            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
823            NonRepeatedFieldType::get_field_opt(
824                &self.fields.suffix,
825                self.shared.bitfield(),
826            )
827        }
828        pub fn has_suffix(&self) -> bool {
829            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
830            NonRepeatedFieldType::get_field_opt(
831                    &self.fields.suffix,
832                    self.shared.bitfield(),
833                )
834                .is_some()
835        }
836    }
837    impl self::_puroro::MessageView for self::VersionView {
838        type MessageType = self::_root::google::protobuf::compiler::Version;
839        fn to_bytes<W: ::std::io::Write>(
840            &self,
841            #[allow(unused)]
842            out: &mut W,
843        ) -> self::_puroro::Result<()> {
844            #[allow(unused)]
845            use self::_pinternal::OneofUnion as _;
846            use self::_pinternal::{SharedItems as _, UnknownFields as _};
847            self::_pinternal::FieldType::ser_to_write(
848                &self.fields.major,
849                self.shared.bitfield(),
850                1i32,
851                out,
852            )?;
853            self::_pinternal::FieldType::ser_to_write(
854                &self.fields.minor,
855                self.shared.bitfield(),
856                2i32,
857                out,
858            )?;
859            self::_pinternal::FieldType::ser_to_write(
860                &self.fields.patch,
861                self.shared.bitfield(),
862                3i32,
863                out,
864            )?;
865            self::_pinternal::FieldType::ser_to_write(
866                &self.fields.suffix,
867                self.shared.bitfield(),
868                4i32,
869                out,
870            )?;
871            self.shared.unknown_fields().ser_to_write(out)?;
872            ::std::result::Result::Ok(())
873        }
874    }
875    impl self::_pinternal::MessageViewInternal for self::VersionView {
876        fn new_boxed() -> ::std::boxed::Box<Self> {
877            use self::_pinternal::SharedItems as _;
878            let mut shared: self::_pinternal::SharedItemsImpl::<1usize> = ::std::default::Default::default();
879            let fields = self::_root::google::protobuf::compiler::_fields::VersionFields {
880                major: self::_pinternal::FieldType::new(shared.bitfield_mut()),
881                minor: self::_pinternal::FieldType::new(shared.bitfield_mut()),
882                patch: self::_pinternal::FieldType::new(shared.bitfield_mut()),
883                suffix: self::_pinternal::FieldType::new(shared.bitfield_mut()),
884            };
885            ::std::boxed::Box::new(Self { fields, shared })
886        }
887    }
888    impl ::std::ops::Drop for VersionView {
889        fn drop(&mut self) {
890            #[allow(unused)]
891            use self::_pinternal::{OneofUnion as _, SharedItems as _};
892        }
893    }
894    impl ::std::fmt::Debug for VersionView {
895        fn fmt(
896            &self,
897            fmt: &mut ::std::fmt::Formatter<'_>,
898        ) -> ::std::result::Result<(), ::std::fmt::Error> {
899            use self::_pinternal::{SharedItems as _, UnknownFields as _};
900            let mut debug_struct = fmt.debug_struct(stringify!(VersionView));
901            debug_struct
902                .field(stringify!(major), &self.major_opt())
903                .field(stringify!(minor), &self.minor_opt())
904                .field(stringify!(patch), &self.patch_opt())
905                .field(stringify!(suffix), &self.suffix_opt());
906            self.shared.unknown_fields().debug_struct_fields(&mut debug_struct)?;
907            debug_struct.finish()
908        }
909    }
910    impl ::std::cmp::PartialEq for VersionView {
911        fn eq(&self, rhs: &Self) -> bool {
912            #[allow(unused)]
913            use self::_pinternal::OneofUnion as _;
914            use self::_pinternal::SharedItems as _;
915            true && self.major_opt() == rhs.major_opt()
916                && self.minor_opt() == rhs.minor_opt()
917                && self.patch_opt() == rhs.patch_opt()
918                && self.suffix_opt() == rhs.suffix_opt()
919                && self.shared.unknown_fields() == rhs.shared.unknown_fields()
920        }
921    }
922    impl ::std::borrow::ToOwned for VersionView {
923        type Owned = self::_root::google::protobuf::compiler::Version;
924        fn to_owned(&self) -> Self::Owned {
925            #[allow(unused)]
926            use self::_pinternal::SharedItems;
927            self::_root::google::protobuf::compiler::Version(
928                ::std::boxed::Box::new(Self {
929                    fields: self::_root::google::protobuf::compiler::_fields::VersionFields {
930                        major: ::std::clone::Clone::clone(&self.fields.major),
931                        minor: ::std::clone::Clone::clone(&self.fields.minor),
932                        patch: ::std::clone::Clone::clone(&self.fields.patch),
933                        suffix: ::std::clone::Clone::clone(&self.fields.suffix),
934                    },
935                    shared: ::std::clone::Clone::clone(&self.shared),
936                }),
937            )
938        }
939    }
940    pub struct CodeGeneratorRequestView {
941        pub(super) fields: self::_root::google::protobuf::compiler::_fields::CodeGeneratorRequestFields::<
942            self::_pinternal::RepeatedUnsizedField::<
943                ::std::string::String,
944                self::_pinternal::tags::String,
945            >,
946            self::_pinternal::OptionalUnsizedField::<
947                ::std::string::String,
948                self::_pinternal::tags::String,
949                0usize,
950            >,
951            self::_pinternal::RepeatedMessageField::<
952                self::_root::google::protobuf::FileDescriptorProto,
953            >,
954            self::_pinternal::SingularMessageField::<
955                self::_root::google::protobuf::compiler::Version,
956            >,
957        >,
958        pub(super) shared: self::_pinternal::SharedItemsImpl<1usize>,
959    }
960    impl CodeGeneratorRequestView {
961        pub fn file_to_generate(
966            &self,
967        ) -> impl '_ + self::_puroro::repeated::RepeatedFieldView<'_, Item = str> {
968            use self::_pinternal::{RepeatedFieldType, SharedItems as _};
969            RepeatedFieldType::get_field(
970                &self.fields.file_to_generate,
971                self.shared.bitfield(),
972            )
973        }
974        pub fn parameter(&self) -> &str {
975            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
976            NonRepeatedFieldType::get_field_or_else(
977                &self.fields.parameter,
978                self.shared.bitfield(),
979                ::std::default::Default::default,
980            )
981        }
982        pub fn parameter_opt(&self) -> ::std::option::Option::<&str> {
985            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
986            NonRepeatedFieldType::get_field_opt(
987                &self.fields.parameter,
988                self.shared.bitfield(),
989            )
990        }
991        pub fn has_parameter(&self) -> bool {
992            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
993            NonRepeatedFieldType::get_field_opt(
994                    &self.fields.parameter,
995                    self.shared.bitfield(),
996                )
997                .is_some()
998        }
999        pub fn proto_file(
1015            &self,
1016        ) -> impl '_ + self::_puroro::repeated::RepeatedFieldView<
1017            '_,
1018            Item = self::_root::google::protobuf::_view::FileDescriptorProtoView,
1019        > {
1020            use self::_pinternal::{RepeatedFieldType, SharedItems as _};
1021            RepeatedFieldType::get_field(&self.fields.proto_file, self.shared.bitfield())
1022        }
1023        pub fn compiler_version(
1024            &self,
1025        ) -> ::std::option::Option::<
1026            &self::_root::google::protobuf::compiler::_view::VersionView,
1027        > {
1028            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1029            NonRepeatedFieldType::get_field_or_else(
1030                &self.fields.compiler_version,
1031                self.shared.bitfield(),
1032                ::std::default::Default::default,
1033            )
1034        }
1035        pub fn compiler_version_opt(
1038            &self,
1039        ) -> ::std::option::Option::<
1040            &self::_root::google::protobuf::compiler::_view::VersionView,
1041        > {
1042            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1043            NonRepeatedFieldType::get_field_opt(
1044                &self.fields.compiler_version,
1045                self.shared.bitfield(),
1046            )
1047        }
1048        pub fn has_compiler_version(&self) -> bool {
1049            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1050            NonRepeatedFieldType::get_field_opt(
1051                    &self.fields.compiler_version,
1052                    self.shared.bitfield(),
1053                )
1054                .is_some()
1055        }
1056    }
1057    impl self::_puroro::MessageView for self::CodeGeneratorRequestView {
1058        type MessageType = self::_root::google::protobuf::compiler::CodeGeneratorRequest;
1059        fn to_bytes<W: ::std::io::Write>(
1060            &self,
1061            #[allow(unused)]
1062            out: &mut W,
1063        ) -> self::_puroro::Result<()> {
1064            #[allow(unused)]
1065            use self::_pinternal::OneofUnion as _;
1066            use self::_pinternal::{SharedItems as _, UnknownFields as _};
1067            self::_pinternal::FieldType::ser_to_write(
1068                &self.fields.file_to_generate,
1069                self.shared.bitfield(),
1070                1i32,
1071                out,
1072            )?;
1073            self::_pinternal::FieldType::ser_to_write(
1074                &self.fields.parameter,
1075                self.shared.bitfield(),
1076                2i32,
1077                out,
1078            )?;
1079            self::_pinternal::FieldType::ser_to_write(
1080                &self.fields.proto_file,
1081                self.shared.bitfield(),
1082                15i32,
1083                out,
1084            )?;
1085            self::_pinternal::FieldType::ser_to_write(
1086                &self.fields.compiler_version,
1087                self.shared.bitfield(),
1088                3i32,
1089                out,
1090            )?;
1091            self.shared.unknown_fields().ser_to_write(out)?;
1092            ::std::result::Result::Ok(())
1093        }
1094    }
1095    impl self::_pinternal::MessageViewInternal for self::CodeGeneratorRequestView {
1096        fn new_boxed() -> ::std::boxed::Box<Self> {
1097            use self::_pinternal::SharedItems as _;
1098            let mut shared: self::_pinternal::SharedItemsImpl::<1usize> = ::std::default::Default::default();
1099            let fields = self::_root::google::protobuf::compiler::_fields::CodeGeneratorRequestFields {
1100                file_to_generate: self::_pinternal::FieldType::new(
1101                    shared.bitfield_mut(),
1102                ),
1103                parameter: self::_pinternal::FieldType::new(shared.bitfield_mut()),
1104                proto_file: self::_pinternal::FieldType::new(shared.bitfield_mut()),
1105                compiler_version: self::_pinternal::FieldType::new(shared.bitfield_mut()),
1106            };
1107            ::std::boxed::Box::new(Self { fields, shared })
1108        }
1109    }
1110    impl ::std::ops::Drop for CodeGeneratorRequestView {
1111        fn drop(&mut self) {
1112            #[allow(unused)]
1113            use self::_pinternal::{OneofUnion as _, SharedItems as _};
1114        }
1115    }
1116    impl ::std::fmt::Debug for CodeGeneratorRequestView {
1117        fn fmt(
1118            &self,
1119            fmt: &mut ::std::fmt::Formatter<'_>,
1120        ) -> ::std::result::Result<(), ::std::fmt::Error> {
1121            use self::_pinternal::{SharedItems as _, UnknownFields as _};
1122            let mut debug_struct = fmt
1123                .debug_struct(stringify!(CodeGeneratorRequestView));
1124            debug_struct
1125                .field(
1126                    stringify!(file_to_generate),
1127                    &self
1128                        .file_to_generate()
1129                        .into_iter()
1130                        .collect::<::std::vec::Vec<_>>()
1131                        .as_slice(),
1132                )
1133                .field(stringify!(parameter), &self.parameter_opt())
1134                .field(
1135                    stringify!(proto_file),
1136                    &self
1137                        .proto_file()
1138                        .into_iter()
1139                        .collect::<::std::vec::Vec<_>>()
1140                        .as_slice(),
1141                )
1142                .field(stringify!(compiler_version), &self.compiler_version_opt());
1143            self.shared.unknown_fields().debug_struct_fields(&mut debug_struct)?;
1144            debug_struct.finish()
1145        }
1146    }
1147    impl ::std::cmp::PartialEq for CodeGeneratorRequestView {
1148        fn eq(&self, rhs: &Self) -> bool {
1149            #[allow(unused)]
1150            use self::_pinternal::OneofUnion as _;
1151            use self::_pinternal::SharedItems as _;
1152            true && self.file_to_generate().into_iter().eq(rhs.file_to_generate())
1153                && self.parameter_opt() == rhs.parameter_opt()
1154                && self.proto_file().into_iter().eq(rhs.proto_file())
1155                && self.compiler_version_opt() == rhs.compiler_version_opt()
1156                && self.shared.unknown_fields() == rhs.shared.unknown_fields()
1157        }
1158    }
1159    impl ::std::borrow::ToOwned for CodeGeneratorRequestView {
1160        type Owned = self::_root::google::protobuf::compiler::CodeGeneratorRequest;
1161        fn to_owned(&self) -> Self::Owned {
1162            #[allow(unused)]
1163            use self::_pinternal::SharedItems;
1164            self::_root::google::protobuf::compiler::CodeGeneratorRequest(
1165                ::std::boxed::Box::new(Self {
1166                    fields: self::_root::google::protobuf::compiler::_fields::CodeGeneratorRequestFields {
1167                        file_to_generate: ::std::clone::Clone::clone(
1168                            &self.fields.file_to_generate,
1169                        ),
1170                        parameter: ::std::clone::Clone::clone(&self.fields.parameter),
1171                        proto_file: ::std::clone::Clone::clone(&self.fields.proto_file),
1172                        compiler_version: ::std::clone::Clone::clone(
1173                            &self.fields.compiler_version,
1174                        ),
1175                    },
1176                    shared: ::std::clone::Clone::clone(&self.shared),
1177                }),
1178            )
1179        }
1180    }
1181    pub struct CodeGeneratorResponseView {
1182        pub(super) fields: self::_root::google::protobuf::compiler::_fields::CodeGeneratorResponseFields::<
1183            self::_pinternal::OptionalUnsizedField::<
1184                ::std::string::String,
1185                self::_pinternal::tags::String,
1186                0usize,
1187            >,
1188            self::_pinternal::OptionalNumericalField::<
1189                u64,
1190                self::_pinternal::tags::UInt64,
1191                1usize,
1192            >,
1193            self::_pinternal::RepeatedMessageField::<
1194                self::_root::google::protobuf::compiler::code_generator_response::File,
1195            >,
1196        >,
1197        pub(super) shared: self::_pinternal::SharedItemsImpl<1usize>,
1198    }
1199    impl CodeGeneratorResponseView {
1200        pub fn error(&self) -> &str {
1201            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1202            NonRepeatedFieldType::get_field_or_else(
1203                &self.fields.error,
1204                self.shared.bitfield(),
1205                ::std::default::Default::default,
1206            )
1207        }
1208        pub fn error_opt(&self) -> ::std::option::Option::<&str> {
1218            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1219            NonRepeatedFieldType::get_field_opt(
1220                &self.fields.error,
1221                self.shared.bitfield(),
1222            )
1223        }
1224        pub fn has_error(&self) -> bool {
1225            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1226            NonRepeatedFieldType::get_field_opt(
1227                    &self.fields.error,
1228                    self.shared.bitfield(),
1229                )
1230                .is_some()
1231        }
1232        pub fn supported_features(&self) -> u64 {
1233            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1234            NonRepeatedFieldType::get_field_or_else(
1235                &self.fields.supported_features,
1236                self.shared.bitfield(),
1237                ::std::default::Default::default,
1238            )
1239        }
1240        pub fn supported_features_opt(&self) -> ::std::option::Option::<u64> {
1244            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1245            NonRepeatedFieldType::get_field_opt(
1246                &self.fields.supported_features,
1247                self.shared.bitfield(),
1248            )
1249        }
1250        pub fn has_supported_features(&self) -> bool {
1251            use self::_pinternal::{NonRepeatedFieldType, SharedItems as _};
1252            NonRepeatedFieldType::get_field_opt(
1253                    &self.fields.supported_features,
1254                    self.shared.bitfield(),
1255                )
1256                .is_some()
1257        }
1258        pub fn file(
1259            &self,
1260        ) -> impl '_ + self::_puroro::repeated::RepeatedFieldView<
1261            '_,
1262            Item = self::_root::google::protobuf::compiler::code_generator_response::_view::FileView,
1263        > {
1264            use self::_pinternal::{RepeatedFieldType, SharedItems as _};
1265            RepeatedFieldType::get_field(&self.fields.file, self.shared.bitfield())
1266        }
1267    }
1268    impl self::_puroro::MessageView for self::CodeGeneratorResponseView {
1269        type MessageType = self::_root::google::protobuf::compiler::CodeGeneratorResponse;
1270        fn to_bytes<W: ::std::io::Write>(
1271            &self,
1272            #[allow(unused)]
1273            out: &mut W,
1274        ) -> self::_puroro::Result<()> {
1275            #[allow(unused)]
1276            use self::_pinternal::OneofUnion as _;
1277            use self::_pinternal::{SharedItems as _, UnknownFields as _};
1278            self::_pinternal::FieldType::ser_to_write(
1279                &self.fields.error,
1280                self.shared.bitfield(),
1281                1i32,
1282                out,
1283            )?;
1284            self::_pinternal::FieldType::ser_to_write(
1285                &self.fields.supported_features,
1286                self.shared.bitfield(),
1287                2i32,
1288                out,
1289            )?;
1290            self::_pinternal::FieldType::ser_to_write(
1291                &self.fields.file,
1292                self.shared.bitfield(),
1293                15i32,
1294                out,
1295            )?;
1296            self.shared.unknown_fields().ser_to_write(out)?;
1297            ::std::result::Result::Ok(())
1298        }
1299    }
1300    impl self::_pinternal::MessageViewInternal for self::CodeGeneratorResponseView {
1301        fn new_boxed() -> ::std::boxed::Box<Self> {
1302            use self::_pinternal::SharedItems as _;
1303            let mut shared: self::_pinternal::SharedItemsImpl::<1usize> = ::std::default::Default::default();
1304            let fields = self::_root::google::protobuf::compiler::_fields::CodeGeneratorResponseFields {
1305                error: self::_pinternal::FieldType::new(shared.bitfield_mut()),
1306                supported_features: self::_pinternal::FieldType::new(
1307                    shared.bitfield_mut(),
1308                ),
1309                file: self::_pinternal::FieldType::new(shared.bitfield_mut()),
1310            };
1311            ::std::boxed::Box::new(Self { fields, shared })
1312        }
1313    }
1314    impl ::std::ops::Drop for CodeGeneratorResponseView {
1315        fn drop(&mut self) {
1316            #[allow(unused)]
1317            use self::_pinternal::{OneofUnion as _, SharedItems as _};
1318        }
1319    }
1320    impl ::std::fmt::Debug for CodeGeneratorResponseView {
1321        fn fmt(
1322            &self,
1323            fmt: &mut ::std::fmt::Formatter<'_>,
1324        ) -> ::std::result::Result<(), ::std::fmt::Error> {
1325            use self::_pinternal::{SharedItems as _, UnknownFields as _};
1326            let mut debug_struct = fmt
1327                .debug_struct(stringify!(CodeGeneratorResponseView));
1328            debug_struct
1329                .field(stringify!(error), &self.error_opt())
1330                .field(stringify!(supported_features), &self.supported_features_opt())
1331                .field(
1332                    stringify!(file),
1333                    &self.file().into_iter().collect::<::std::vec::Vec<_>>().as_slice(),
1334                );
1335            self.shared.unknown_fields().debug_struct_fields(&mut debug_struct)?;
1336            debug_struct.finish()
1337        }
1338    }
1339    impl ::std::cmp::PartialEq for CodeGeneratorResponseView {
1340        fn eq(&self, rhs: &Self) -> bool {
1341            #[allow(unused)]
1342            use self::_pinternal::OneofUnion as _;
1343            use self::_pinternal::SharedItems as _;
1344            true && self.error_opt() == rhs.error_opt()
1345                && self.supported_features_opt() == rhs.supported_features_opt()
1346                && self.file().into_iter().eq(rhs.file())
1347                && self.shared.unknown_fields() == rhs.shared.unknown_fields()
1348        }
1349    }
1350    impl ::std::borrow::ToOwned for CodeGeneratorResponseView {
1351        type Owned = self::_root::google::protobuf::compiler::CodeGeneratorResponse;
1352        fn to_owned(&self) -> Self::Owned {
1353            #[allow(unused)]
1354            use self::_pinternal::SharedItems;
1355            self::_root::google::protobuf::compiler::CodeGeneratorResponse(
1356                ::std::boxed::Box::new(Self {
1357                    fields: self::_root::google::protobuf::compiler::_fields::CodeGeneratorResponseFields {
1358                        error: ::std::clone::Clone::clone(&self.fields.error),
1359                        supported_features: ::std::clone::Clone::clone(
1360                            &self.fields.supported_features,
1361                        ),
1362                        file: ::std::clone::Clone::clone(&self.fields.file),
1363                    },
1364                    shared: ::std::clone::Clone::clone(&self.shared),
1365                }),
1366            )
1367        }
1368    }
1369}
1370#[doc(inline)]
1371pub use self::_view::*;
1372#[doc(hidden)]
1373pub mod _fields {
1374    mod _root {
1375        #[allow(unused)]
1376        pub(crate) use super::super::_root::*;
1377    }
1378    mod _puroro {
1379        #[allow(unused)]
1380        pub(crate) use super::_root::_puroro::*;
1381    }
1382    mod _pinternal {
1383        #[allow(unused)]
1384        pub(crate) use super::_root::_pinternal::*;
1385    }
1386    pub struct VersionFields<TMajor, TMinor, TPatch, TSuffix> {
1387        pub major: TMajor,
1388        pub minor: TMinor,
1389        pub patch: TPatch,
1390        pub suffix: TSuffix,
1391    }
1392    pub struct CodeGeneratorRequestFields<
1393        TFileToGenerate,
1394        TParameter,
1395        TProtoFile,
1396        TCompilerVersion,
1397    > {
1398        pub file_to_generate: TFileToGenerate,
1399        pub parameter: TParameter,
1400        pub proto_file: TProtoFile,
1401        pub compiler_version: TCompilerVersion,
1402    }
1403    pub struct CodeGeneratorResponseFields<TError, TSupportedFeatures, TFile> {
1404        pub error: TError,
1405        pub supported_features: TSupportedFeatures,
1406        pub file: TFile,
1407    }
1408}
1409#[doc(hidden)]
1410pub use self::_fields::*;