lkml.org 
[lkml]   [2022]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v10 10/27] rust: add `macros` crate
    On Tue, Sep 27, 2022 at 03:14:41PM +0200, Miguel Ojeda wrote:
    > This crate contains all the procedural macros ("proc macros")
    > shared by all the kernel.
    >
    > Procedural macros allow to create syntax extensions. They run at
    > compile-time and can consume as well as produce Rust syntax.
    >
    > For instance, the `module!` macro that is used by Rust modules
    > is implemented here. It allows to easily declare the equivalent
    > information to the `MODULE_*` macros in C modules, e.g.:
    >
    > module! {
    > type: RustMinimal,
    > name: b"rust_minimal",
    > author: b"Rust for Linux Contributors",
    > description: b"Rust minimal sample",
    > license: b"GPL",
    > }

    I don't use / know much of procedural macros, so I don't feel like I'm
    qualified to review this patch.

    Just a general question: what is the house rule for adding new proc
    macros? They are powerful tools. I can see their value in `module!`
    because writing all that boilerplate by hand is just painful. Yet they
    are not straightforward to understand. It is difficult, just by looking
    at the macro, to fully grasp what the final code looks like (though the
    rsi target will help). Is there a concern that proc macro gets abused?

    Thanks,
    Wei.

    \
     
     \ /
      Last update: 2022-09-28 17:33    [W:4.752 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site