---
Function {
    argument: None,
    arguments: FunctionArguments {
        arguments: [
            FunctionArgument {
                identifier: "Security",
                default: None,
            },
            FunctionArgument {
                identifier: "rustPlatform",
                default: None,
            },
            FunctionArgument {
                identifier: "stdenv",
                default: None,
            },
            FunctionArgument {
                identifier: "lib",
                default: None,
            },
        ],
        ellipsis: false,
    },
    definition: FunctionApplication {
        function: PropertyAccess {
            expression: Variable {
                identifier: "rustPlatform",
                position: (3, 1),
            },
            attribute_path: AttributePath {
                attributes: [
                    Raw {
                        content: "buildRustPackage",
                        position: (3, 14),
                    },
                ],
            },
            default: None,
        },
        arguments: [
            Map {
                bindings: [
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "pname",
                                    position: (4, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "rustfmt",
                                    position: (4, 12),
                                },
                            ],
                        },
                    ),
                    Inherit(
                        Some(
                            PropertyAccess {
                                expression: Variable {
                                    identifier: "rustPlatform",
                                    position: (5, 12),
                                },
                                attribute_path: AttributePath {
                                    attributes: [
                                        Raw {
                                            content: "rust",
                                            position: (5, 25),
                                        },
                                        Raw {
                                            content: "rustc",
                                            position: (5, 30),
                                        },
                                    ],
                                },
                                default: None,
                            },
                        ),
                        [
                            Raw {
                                content: "version",
                                position: (5, 37),
                            },
                            Raw {
                                content: "src",
                                position: (5, 45),
                            },
                        ],
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "cargoVendorDir",
                                    position: (8, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "vendor",
                                    position: (8, 21),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "buildAndTestSubdir",
                                    position: (9, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "src/tools/rustfmt",
                                    position: (9, 25),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "dontUpdateAutotoolsGnuConfigScripts",
                                    position: (12, 3),
                                },
                            ],
                        },
                        Variable {
                            identifier: "true",
                            position: (12, 41),
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "buildInputs",
                                    position: (14, 3),
                                },
                            ],
                        },
                        FunctionApplication {
                            function: PropertyAccess {
                                expression: Variable {
                                    identifier: "lib",
                                    position: (14, 17),
                                },
                                attribute_path: AttributePath {
                                    attributes: [
                                        Raw {
                                            content: "optional",
                                            position: (14, 21),
                                        },
                                    ],
                                },
                                default: None,
                            },
                            arguments: [
                                PropertyAccess {
                                    expression: Variable {
                                        identifier: "stdenv",
                                        position: (14, 30),
                                    },
                                    attribute_path: AttributePath {
                                        attributes: [
                                            Raw {
                                                content: "isDarwin",
                                                position: (14, 37),
                                            },
                                        ],
                                    },
                                    default: None,
                                },
                                Variable {
                                    identifier: "Security",
                                    position: (14, 46),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "RUSTC_BOOTSTRAP",
                                    position: (17, 3),
                                },
                            ],
                        },
                        Int {
                            value: 1,
                            position: (17, 21),
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "CFG_RELEASE",
                                    position: (21, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Expression {
                                    expression: PropertyAccess {
                                        expression: Variable {
                                            identifier: "rustPlatform",
                                            position: (21, 20),
                                        },
                                        attribute_path: AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "rust",
                                                    position: (21, 33),
                                                },
                                                Raw {
                                                    content: "rustc",
                                                    position: (21, 38),
                                                },
                                                Raw {
                                                    content: "version",
                                                    position: (21, 44),
                                                },
                                            ],
                                        },
                                        default: None,
                                    },
                                },
                                Raw {
                                    content: "-nightly",
                                    position: (21, 52),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "CFG_RELEASE_CHANNEL",
                                    position: (22, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "nightly",
                                    position: (22, 26),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "meta",
                                    position: (24, 3),
                                },
                            ],
                        },
                        With {
                            expression: Variable {
                                identifier: "lib",
                                position: (24, 15),
                            },
                            target: Map {
                                bindings: [
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "description",
                                                    position: (25, 5),
                                                },
                                            ],
                                        },
                                        String {
                                            parts: [
                                                Raw {
                                                    content: "A tool for formatting Rust code according to style guidelines",
                                                    position: (25, 20),
                                                },
                                            ],
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "homepage",
                                                    position: (26, 5),
                                                },
                                            ],
                                        },
                                        String {
                                            parts: [
                                                Raw {
                                                    content: "https://github.com/rust-lang-nursery/rustfmt",
                                                    position: (26, 17),
                                                },
                                            ],
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "license",
                                                    position: (27, 5),
                                                },
                                            ],
                                        },
                                        With {
                                            expression: Variable {
                                                identifier: "licenses",
                                                position: (27, 20),
                                            },
                                            target: List {
                                                elements: [
                                                    Variable {
                                                        identifier: "mit",
                                                        position: (27, 32),
                                                    },
                                                    Variable {
                                                        identifier: "asl20",
                                                        position: (27, 36),
                                                    },
                                                ],
                                            },
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "maintainers",
                                                    position: (28, 5),
                                                },
                                            ],
                                        },
                                        With {
                                            expression: Variable {
                                                identifier: "maintainers",
                                                position: (28, 24),
                                            },
                                            target: List {
                                                elements: [
                                                    Variable {
                                                        identifier: "globin",
                                                        position: (28, 39),
                                                    },
                                                    Variable {
                                                        identifier: "basvandijk",
                                                        position: (28, 46),
                                                    },
                                                ],
                                            },
                                        },
                                    ),
                                ],
                                recursive: false,
                            },
                        },
                    ),
                ],
                recursive: true,
            },
        ],
    },
}