From 9b14b8930d88de0c5dc8d8afa49a9f210d9d468f Mon Sep 17 00:00:00 2001 From: Christian Poveda Date: Fri, 23 Sep 2022 15:24:19 -0500 Subject: [PATCH] update `CONTRIBUTING.md` section about `syn` --- CONTRIBUTING.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2974ba4254..3d757ccdff 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -323,14 +323,12 @@ generated Rust code are implemented using the [`syn`](https://docs.rs/syn) crate ### Implementing new options using `syn` -Here is a list of recommendations to be followed if a new option can be -implemented using the `syn` crate: +If a new option can be implemented using the `syn` crate it should be added to +the `codegen::postprocessing` module by following these steps: -- The `BindgenOptions::require_syn` method must be updated to reflect that this - new option requires parsing the generated Rust code with `syn`. - -- The implementation of the new option should be added at the end of - `Bindings::generate`, inside the `if options.require_syn() { ... }` block. +- Introduce a new `struct` with no fields. +- Implement the `PostProcessing` trait for the `struct`. +- Add the `struct` to the `decl_postprocessing` macro invocation. ## Pull Requests and Code Reviews