Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 0a7d5cd54871d5700ef07aa59952652c81785981
Author: Russell Greene <russell@shotover.com>
Date:   Thu Jun 23 04:03:15 2022 +0000

    fix accidental removal

commit d418fdb0b1304c9046f0756b2d5b4924a4687476
Author: Russell Greene <russellgreene8@gmail.com>
Date:   Wed Jan 26 12:28:08 2022 -0600

    add test for null ptr

commit 09f0311b1e10b7ee1ce5ccebbddcfb11dd496c57
Author: Russell Greene <russellgreene8@gmail.com>
Date:   Wed Jan 26 12:22:04 2022 -0600

    fix from_unmanaged not being implemented for C++ types, and add corresponding test

commit ba25e4cf3b0640b152cf1e7bf22179086b44e4fd
Author: Russell Greene <russellgreene8@gmail.com>
Date:   Tue Jan 25 15:02:49 2022 -0600

    Check contents of moved string

commit 478fb85c8fdfb0591bdc8efaa969036baa05e20a
Author: Russell Greene <russellgreene8@gmail.com>
Date:   Tue Jan 25 14:56:42 2022 -0600

    Add UniquePtr::to_shared and SharedPtr::from_unmanaged

commit 1862c5dad56c3da71420c5dca6e80ab788bb193d
Author: David Tolnay <dtolnay@gmail.com>
Date:   Wed Jul 6 21:06:51 2022 -0700

    Update ui test suite to nightly-2022-07-07

commit 2e1527c83439d694858944ee20b763b46b73f65f
Author: David Tolnay <dtolnay@gmail.com>
Date:   Wed Jul 6 07:19:36 2022 -0700

    Release 1.0.71

commit 08eef74de39a027d7ae20a68c5325a59bfcfea3e
Author: David Tolnay <dtolnay@gmail.com>
Date:   Wed Jul 6 07:19:10 2022 -0700

    Lockfile update

commit 3cb0d42b3e089aa75682af3190f2213395c9493a
Merge: ac898723 0bbc34bc
Author: David Tolnay <dtolnay@gmail.com>
Date:   Wed Jul 6 07:17:58 2022 -0700

    Merge pull request #1064 from luckyuro/master

    make #derive before #attr when expand to avoid warning legacy_derive_helpers

commit 0bbc34bc251a079071f8cf8ca63a4552e977282a
Author: abbform <abbform@gmail.com>
Date:   Wed Jul 6 21:58:48 2022 +0800

    make #derive before #attr when derive

commit ac898723167a8ee9fe820195df4cf941a7124ffb
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jul 4 09:56:31 2022 -0700

    Release 1.0.70

commit 2a165ef375455d5f574664fa9b99481bd92cf84d
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jul 4 09:49:07 2022 -0700

    Run quote build script

commit c45bd4428e4e0415f705b7e9fd8b34fae7899796
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jul 4 09:46:08 2022 -0700

    Lockfile update

commit cc81e8cf70da8fbe2520041eb1fb7dda1e3c4f02
Merge: d8892fec 30427e02
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jul 4 09:43:02 2022 -0700

    Merge pull request #1062 from dtolnay/attrs

    Clippy attrs on extern "Rust" blocks

commit 30427e0205ef459c26b1418fc2850f034b635608
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jul 4 09:25:21 2022 -0700

    Propagate attrs from extern mod onto all contents
        mod ffi {
            extern "Rust" {
                fn repro(a: i32, b: i32, c: i32, d: i32, e: i32, f: i32, g: i32, h: i32) -> bool;
            }
        }

    Before:

        warning: this function has too many arguments (8/7)
         --> src/main.rs:5:12
          |
        5 |         fn repro(a: i32, b: i32, c: i32, d: i32, e: i32, f: i32, g: i32, h: i32) -> bool;
          |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          |
          = note: `#[warn(clippy::too_many_arguments)]` on by default
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments

    After: no lint.

commit 66ba9a0a666bb9cc3181c1bcf08a52729d7a0084
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jul 4 09:20:52 2022 -0700

    Preserve clippy attrs on extern "Rust" fn
        mod ffi {
            extern "Rust" {
                fn repro(a: i32, b: i32, c: i32, d: i32, e: i32, f: i32, g: i32, h: i32) -> bool;
            }
        }

    Before:

        warning: this function has too many arguments (8/7)
         --> src/main.rs:5:12
          |
        5 |         fn repro(a: i32, b: i32, c: i32, d: i32, e: i32, f: i32, g: i32, h: i32) -> bool;
          |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          |
          = note: `#[warn(clippy::too_many_arguments)]` on by default
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments

    After: no lint.

commit d8892fecd32e480b5cc0c91921797b0b18c1555c
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jul 1 20:01:03 2022 -0700

    Ignore explicit_auto_deref clippy lint

        error: deref which would be done by auto-deref
          --> gen/build/src/intern.rs:23:27
           |
        23 |         Some(interned) => *interned,
           |                           ^^^^^^^^^ help: try this: `interned`
           |
           = note: `-D clippy::explicit-auto-deref` implied by `-D clippy::all`
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref

commit 65d50f275f06a3ba6d2139f18c043d8150cfe3fc
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jul 1 19:35:47 2022 -0700

    Update ui test suite to nightly-2022-07-02

commit 98c5161a7de6401b6e079b254bba6f1278e6a956
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jun 24 00:25:50 2022 -0700

    Disable pc-windows-gnu CI for now

    Currently failing in GitHub Actions with:

        Compiling demo v0.0.0 (D:\a\cxx\cxx\demo)
         Finished dev [unoptimized + debuginfo] target(s) in 1m 57s
          Running `target\debug\demo.exe`
        error: process didn't exit successfully: `target\debug\demo.exe` (exit code: 0xc0000139, STATUS_ENTRYPOINT_NOT_FOUND)
        Error: Process completed with exit code 1.

commit 5d50b94280b4266bafb335415464fb744e337f53
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jun 17 23:56:34 2022 -0700

    Release 1.0.69

commit ad0d6ba6debf79ae85d5cde786fc71ddf4ae2035
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jun 17 23:53:02 2022 -0700

    Lockfile update

commit 52dfbe177c44663da8a3ae649af77d9828b3d04a
Merge: f1d7bff5 2a606a3e
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jun 17 23:52:10 2022 -0700

    Merge pull request #1060 from dtolnay/clap

    Update to clap 3.2

commit 2a606a3e4261d35e322b2a9bb35d66bcaba278bd
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jun 17 23:17:44 2022 -0700

    Update to clap 3.2

commit f1d7bff5ba47c7b4dc8b65733ee354574ae9ab25
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jun 17 23:23:08 2022 -0700

    Require explicit edition on all Buck targets

commit 5ceda9a122a567993c28f5dfaae575916d9c8c1d
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri Jun 17 22:31:15 2022 -0700

    Update oldest allowed compiler for cxxbridge-cmd to 1.56.1

commit 287ae044fee934b2c29bce3dab58bafd44b80eb7
Author: David Tolnay <dtolnay@gmail.com>
Date:   Sat Jun 11 10:15:55 2022 -0700

    Use upstreamed docs.rs icon in docs.rs badge

commit 1526d5bad240983c3c1a1a888d29003482a9cd78
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jun 6 23:49:47 2022 -0700

    Ignore significant_drop_in_scrutinee clippy lint

        error: temporary with significant drop in match scrutinee
          --> gen/build/src/intern.rs:22:26
           |
        22 |     InternedString(match set.get(s) {
           |                          ^^^^^^^^^^
           |
           = note: `-D clippy::significant-drop-in-scrutinee` implied by `-D clippy::all`
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_in_scrutinee

commit 13998f0482417085433e012f46e0796099c6c774
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon Jun 6 14:39:20 2022 -0700

    Check all crates in workspace for outdated deps

commit fb6db7d11ec57b0f14d3323ed201887f15a16512
Author: David Tolnay <dtolnay@gmail.com>
Date:   Sat Jun 4 00:39:28 2022 -0700

    Delete unpin_impl.rs UI test temporarily

    This test is affected by an ICE in nightly-2022-06-04.
    https://github.com/rust-lang/rust/issues/97698

    Minimized repro:

        trait Ambiguous<A> {
            fn method() {}
        }

        struct One;
        struct Two;
        struct Struct;

        impl Ambiguous<One> for Struct {}
        impl Ambiguous<Two> for Struct {}

        fn main() {
            <Struct as Ambiguous<_>>::method();
        }

    Correct error in nightly-2022-06-03:

        error[E0282]: type annotations needed
          --> src/main.rs:13:26
           |
        13 |     <Struct as Ambiguous<_>>::method();
           |                          ^ cannot infer type

        error[E0283]: type annotations needed
          --> src/main.rs:13:5
           |
        13 |     <Struct as Ambiguous<_>>::method();
           |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
           |
        note: multiple `impl`s satisfying `Struct: Ambiguous<_>` found
          --> src/main.rs:9:1
           |
        9  | impl Ambiguous<One> for Struct {}
           | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        10 | impl Ambiguous<Two> for Struct {}
           | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    ICE in nightly-2022-06-04:

        thread 'rustc' panicked at 'range end index 2 out of range for slice of length 1', library/core/src/slice/index.rs:73:5
        stack backtrace:
          16:     0x7f4cccefd816 - core::slice::index::slice_end_index_len_fail_rt::h04ca4b0b6ddf070e
          17:     0x7f4ccceef707 - core::ops::function::FnOnce::call_once::hb4cbec441e0e0d97
          18:     0x7f4cccef6516 - core::intrinsics::const_eval_select::h2fab5eaa67d7a905
          19:     0x7f4ccce67556 - core::slice::index::slice_end_index_len_fail::ha1557d304be1c61e
          20:     0x7f4cce5ea20f - <rustc_infer[9b42245fee805938]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[5dbb21eaf9590c92]::intravisit::Visitor>::visit_expr
          21:     0x7f4cce5e8edc - <rustc_infer[9b42245fee805938]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[5dbb21eaf9590c92]::intravisit::Visitor>::visit_expr
          22:     0x7f4cce5fbe37 - rustc_hir[5dbb21eaf9590c92]::intravisit::walk_block::<rustc_infer[9b42245fee805938]::infer::error_reporting::need_type_info::FindInferSourceVisitor>
          23:     0x7f4cce5e8eee - <rustc_infer[9b42245fee805938]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[5dbb21eaf9590c92]::intravisit::Visitor>::visit_expr
          24:     0x7f4cce5a1714 - <rustc_infer[9b42245fee805938]::infer::InferCtxt>::emit_inference_failure_err
          25:     0x7f4cce4f32bb - <rustc_infer[9b42245fee805938]::infer::InferCtxt as rustc_trait_selection[af2ed82902f8af73]::traits::error_reporting::InferCtxtPrivExt>::maybe_report_ambiguity
          26:     0x7f4cce4e6f87 - <rustc_infer[9b42245fee805938]::infer::InferCtxt as rustc_trait_selection[af2ed82902f8af73]::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors
          27:     0x7f4ccec3fcb4 - <rustc_infer[9b42245fee805938]::infer::InferCtxtBuilder>::enter::<&rustc_middle[c4bb946b42085c78]::ty::context::TypeckResults, <rustc_typeck[4b1a1a7c06e44333]::check::inherited::InheritedBuilder>::enter<rustc_typeck[4b1a1a7c06e44333]::check::typeck_with_fallback<rustc_typeck[4b1a1a7c06e44333]::check::typeck::{closure#0}>::{closure#1}, &rustc_middle[c4bb946b42085c78]::ty::context::TypeckResults>::{closure#0}>
          28:     0x7f4ccebd170a - rustc_typeck[4b1a1a7c06e44333]::check::typeck
          29:     0x7f4ccfccf5f0 - <rustc_query_system[a1cbf340ec6d6f93]::dep_graph::graph::DepGraph<rustc_middle[c4bb946b42085c78]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[c4bb946b42085c78]::ty::context::TyCtxt, rustc_span[c774ced8c61a5d44]::def_id::LocalDefId, &rustc_middle[c4bb946b42085c78]::ty::context::TypeckResults>
          30:     0x7f4ccf1f8380 - rustc_query_system[a1cbf340ec6d6f93]::query::plumbing::try_execute_query::<rustc_query_impl[f03dd36fb3d62396]::plumbing::QueryCtxt, rustc_query_system[a1cbf340ec6d6f93]::query::caches::DefaultCache<rustc_span[c774ced8c61a5d44]::def_id::LocalDefId, &rustc_middle[c4bb946b42085c78]::ty::context::TypeckResults>>
          31:     0x7f4ccf123c0e - <rustc_query_impl[f03dd36fb3d62396]::Queries as rustc_middle[c4bb946b42085c78]::ty::query::QueryEngine>::typeck
          32:     0x7f4ccec91708 - <rustc_middle[c4bb946b42085c78]::hir::map::Map>::par_body_owners::<rustc_typeck[4b1a1a7c06e44333]::check::typeck_item_bodies::{closure#0}>
          33:     0x7f4ccfa8e18c - rustc_typeck[4b1a1a7c06e44333]::check::typeck_item_bodies
          34:     0x7f4ccfcee823 - <rustc_query_system[a1cbf340ec6d6f93]::dep_graph::graph::DepGraph<rustc_middle[c4bb946b42085c78]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[c4bb946b42085c78]::ty::context::TyCtxt, (), ()>
          35:     0x7f4ccfd991d5 - rustc_query_system[a1cbf340ec6d6f93]::query::plumbing::try_execute_query::<rustc_query_impl[f03dd36fb3d62396]::plumbing::QueryCtxt, rustc_query_system[a1cbf340ec6d6f93]::query::caches::DefaultCache<(), ()>>
          36:     0x7f4ccfdc3331 - rustc_query_system[a1cbf340ec6d6f93]::query::plumbing::get_query::<rustc_query_impl[f03dd36fb3d62396]::queries::typeck_item_bodies, rustc_query_impl[f03dd36fb3d62396]::plumbing::QueryCtxt>
          37:     0x7f4ccfac4473 - <rustc_session[d1b76e352c1a3b5b]::session::Session>::time::<(), rustc_typeck[4b1a1a7c06e44333]::check_crate::{closure#7}>
          38:     0x7f4ccfab109b - rustc_typeck[4b1a1a7c06e44333]::check_crate
          39:     0x7f4ccf86b017 - rustc_interface[94703aee012e7483]::passes::analysis
          40:     0x7f4ccfcea595 - <rustc_query_system[a1cbf340ec6d6f93]::dep_graph::graph::DepGraph<rustc_middle[c4bb946b42085c78]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[c4bb946b42085c78]::ty::context::TyCtxt, (), core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>
          41:     0x7f4ccfd8f1fd - rustc_query_system[a1cbf340ec6d6f93]::query::plumbing::try_execute_query::<rustc_query_impl[f03dd36fb3d62396]::plumbing::QueryCtxt, rustc_query_system[a1cbf340ec6d6f93]::query::caches::DefaultCache<(), core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>>
          42:     0x7f4ccfdd58ee - rustc_query_system[a1cbf340ec6d6f93]::query::plumbing::get_query::<rustc_query_impl[f03dd36fb3d62396]::queries::analysis, rustc_query_impl[f03dd36fb3d62396]::plumbing::QueryCtxt>
          43:     0x7f4ccf8282a7 - <rustc_interface[94703aee012e7483]::passes::QueryContext>::enter::<rustc_driver[7b89ea061d8aedc7]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>
          44:     0x7f4ccf81234f - <rustc_interface[94703aee012e7483]::interface::Compiler>::enter::<rustc_driver[7b89ea061d8aedc7]::run_compiler::{closure#1}::{closure#2}, core[c8091fc9dea0c6cf]::result::Result<core[c8091fc9dea0c6cf]::option::Option<rustc_interface[94703aee012e7483]::queries::Linker>, rustc_errors[ae611370a546922c]::ErrorGuaranteed>>
          45:     0x7f4ccf83bd3f - rustc_span[c774ced8c61a5d44]::with_source_map::<core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>, rustc_interface[94703aee012e7483]::interface::create_compiler_and_run<core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>, rustc_driver[7b89ea061d8aedc7]::run_compiler::{closure#1}>::{closure#1}>
          46:     0x7f4ccf8131e2 - <scoped_tls[a35f89285f520bf3]::ScopedKey<rustc_span[c774ced8c61a5d44]::SessionGlobals>>::set::<rustc_interface[94703aee012e7483]::interface::run_compiler<core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>, rustc_driver[7b89ea061d8aedc7]::run_compiler::{closure#1}>::{closure#0}, core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>
          47:     0x7f4ccf82893f - std[f19dd7bb03296d5c]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[94703aee012e7483]::util::run_in_thread_pool_with_globals<rustc_interface[94703aee012e7483]::interface::run_compiler<core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>, rustc_driver[7b89ea061d8aedc7]::run_compiler::{closure#1}>::{closure#0}, core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>::{closure#0}, core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>
          48:     0x7f4ccf828a99 - <<std[f19dd7bb03296d5c]::thread::Builder>::spawn_unchecked_<rustc_interface[94703aee012e7483]::util::run_in_thread_pool_with_globals<rustc_interface[94703aee012e7483]::interface::run_compiler<core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>, rustc_driver[7b89ea061d8aedc7]::run_compiler::{closure#1}>::{closure#0}, core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>::{closure#0}, core[c8091fc9dea0c6cf]::result::Result<(), rustc_errors[ae611370a546922c]::ErrorGuaranteed>>::{closure#1} as core[c8091fc9dea0c6cf]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}

        error: internal compiler error: unexpected panic

        note: the compiler unexpectedly panicked. this is a bug.

        note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

        note: rustc 1.63.0-nightly (a6b8c6954 2022-06-03) running on x86_64-unknown-linux-gnu

        note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental

        note: some of the compiler flags provided by cargo are hidden

        query stack during panic:
        end of query stack

commit 3e7e454d834eaa4ebfa9487f8aac89e246e237db
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon May 23 04:50:16 2022 -0700

    Drop unneeded permissions from workflow

commit b305ae77411c6fe187bd4a8323678cad1764c3ac
Author: David Tolnay <dtolnay@gmail.com>
Date:   Sat May 21 19:58:45 2022 -0700

    Ignore derive_partial_eq_without_eq clippy lint

        error: you are deriving `PartialEq` and can implement `Eq`
         --> gen/lib/src/gen/block.rs:3:23
          |
        3 | #[derive(Copy, Clone, PartialEq, Debug)]
          |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
          |
          = note: `-D clippy::derive-partial-eq-without-eq` implied by `-D clippy::all`
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
         --> gen/cmd/src/gen/block.rs:3:23
          |
        3 | #[derive(Copy, Clone, PartialEq, Debug)]
          |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
         --> gen/build/src/gen/block.rs:3:23
          |
        3 | #[derive(Copy, Clone, PartialEq, Debug)]
          |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
         --> gen/lib/src/syntax/atom.rs:5:23
          |
        5 | #[derive(Copy, Clone, PartialEq)]
          |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> gen/lib/src/syntax/derive.rs:10:23
           |
        10 | #[derive(Copy, Clone, PartialEq)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
         --> gen/cmd/src/syntax/atom.rs:5:23
          |
        5 | #[derive(Copy, Clone, PartialEq)]
          |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
         --> gen/build/src/syntax/atom.rs:5:23
          |
        5 | #[derive(Copy, Clone, PartialEq)]
          |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> gen/cmd/src/syntax/derive.rs:10:23
           |
        10 | #[derive(Copy, Clone, PartialEq)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> gen/build/src/syntax/derive.rs:10:23
           |
        10 | #[derive(Copy, Clone, PartialEq)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> gen/lib/src/syntax/mod.rs:72:23
           |
        72 | #[derive(Copy, Clone, PartialEq, Debug)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
           --> gen/lib/src/syntax/mod.rs:285:23
            |
        285 | #[derive(Copy, Clone, PartialEq)]
            |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> gen/cmd/src/syntax/mod.rs:72:23
           |
        72 | #[derive(Copy, Clone, PartialEq, Debug)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
           --> gen/cmd/src/syntax/mod.rs:285:23
            |
        285 | #[derive(Copy, Clone, PartialEq)]
            |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> gen/build/src/syntax/mod.rs:72:23
           |
        72 | #[derive(Copy, Clone, PartialEq, Debug)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
           --> gen/build/src/syntax/mod.rs:285:23
            |
        285 | #[derive(Copy, Clone, PartialEq)]
            |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
         --> macro/src/syntax/atom.rs:5:23
          |
        5 | #[derive(Copy, Clone, PartialEq)]
          |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> macro/src/syntax/derive.rs:10:23
           |
        10 | #[derive(Copy, Clone, PartialEq)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
          --> macro/src/syntax/mod.rs:72:23
           |
        72 | #[derive(Copy, Clone, PartialEq, Debug)]
           |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
           |
           = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

        error: you are deriving `PartialEq` and can implement `Eq`
           --> macro/src/syntax/mod.rs:285:23
            |
        285 | #[derive(Copy, Clone, PartialEq)]
            |                       ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
            |
            = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq

commit 2a197e7688220f3af1957b29b26eae174669efb7
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon May 16 15:42:16 2022 -0700

    Replace unicode-xid with unicode-ident crate

commit aa85818fcc0028b056d92e8c06810facb47c6e64
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon May 16 15:40:31 2022 -0700

    Lockfile update

commit d4920548a7712f74ed5623e4b2694662b756a091
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri May 13 16:45:29 2022 -0700

    Release 1.0.68

commit 7455a976f7adb3a09db2d557489055e541ec3fa9
Author: David Tolnay <dtolnay@gmail.com>
Date:   Fri May 13 16:43:47 2022 -0700

    Lockfile update

commit 13cc5d9df9dd6f2666df51bc90e5cfdfa25e37bf
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon May 9 21:33:38 2022 -0700

    Resolve unused_attributes lints in generated code

        warning: `#[doc(hidden)]` is ignored on trait impl items
          --> tests/ffi/module.rs:74:23
           |
        74 |     impl UniquePtr<D> {}
           |                       ^^ help: remove this attribute
           |
           = note: `#[warn(unused_attributes)]` on by default
           = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
           = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
          --> tests/ffi/module.rs:75:23
           |
        75 |     impl UniquePtr<E> {}
           |                       ^^ help: remove this attribute
           |
           = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
           = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
          --> tests/ffi/module.rs:76:23
           |
        76 |     impl UniquePtr<F> {}
           |                       ^^ help: remove this attribute
           |
           = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
           = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
          --> tests/ffi/module.rs:77:23
           |
        77 |     impl UniquePtr<G> {}
           |                       ^^ help: remove this attribute
           |
           = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
           = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
          --> tests/ffi/module.rs:57:51
           |
        57 |         fn c_return_ns_unique_ptr() -> UniquePtr<H>;
           |                                                   ^ help: remove this attribute
           |
           = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
           = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
          --> tests/ffi/module.rs:71:54
           |
        71 |         fn ns_c_return_unique_ptr_ns() -> UniquePtr<I>;
           |                                                      ^ help: remove this attribute
           |
           = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
           = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> tests/ffi/lib.rs:227:18
            |
        227 |         #[derive(ExternType)]
            |                  ^^^^^^^^^^ help: remove this attribute
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> tests/ffi/lib.rs:337:34
            |
        337 |     impl CxxVector<SharedString> {}
            |                                  ^^ help: remove this attribute
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
          --> tests/ffi/lib.rs:99:48
           |
        99 |         fn c_return_unique_ptr() -> UniquePtr<C>;
           |                                                ^ help: remove this attribute
           |
           = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
           = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> tests/ffi/lib.rs:100:48
            |
        100 |         fn c_return_shared_ptr() -> SharedPtr<C>;
            |                                                ^ help: remove this attribute
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> tests/ffi/lib.rs:112:77
            |
        112 |         fn c_return_unique_ptr_vector_shared() -> UniquePtr<CxxVector<Shared>>;
            |                                                                             ^^ help: remove this attribute
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> tests/ffi/lib.rs:113:72
            |
        113 |         fn c_return_unique_ptr_vector_opaque() -> UniquePtr<CxxVector<C>>;
            |                                                                        ^^ help: remove this attribute
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> tests/ffi/lib.rs:204:44
            |
        204 |         fn c_get_use_count(weak: &WeakPtr<C>) -> usize;
            |                                            ^ help: remove this attribute
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> tests/ffi/lib.rs:234:72
            |
        234 |         fn c_return_borrow<'a>(s: &'a CxxString) -> UniquePtr<Borrow<'a>>;
            |                                                                        ^^ help: remove this attribute
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item

commit af2620ca039853d5c7e42dde6ec3bf2fac6cb650
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon May 9 21:29:38 2022 -0700

    Suppress bad unused_attributes lint on doc(hidden) attr

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/extern_type.rs:194:17
            |
        194 |                   #[doc(hidden)]
            |                   ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        202 | / impl_extern_type! {
        203 | |     [Trivial]
        204 | |     bool = "bool"
        205 | |     u8 = "std::uint8_t"
        ...   |
        223 | |     CxxString = "std::string"
        224 | | }
            | |_- in this macro invocation
            |
            = note: `#[warn(unused_attributes)]` on by default
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_extern_type` (in Nightly builds, run with -Z macro-backtrace for more info)

commit 0b878ccec4f58febda71523acf59eb7cc830d819
Author: David Tolnay <dtolnay@gmail.com>
Date:   Mon May 9 21:23:01 2022 -0700

    Remove doc(hidden) attribute that is being phased out

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:400:13
            |
        400 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = note: `#[warn(unused_attributes)]` on by default
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:404:13
            |
        404 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:414:13
            |
        414 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:371:9
            |
        371 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:381:9
            |
        381 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:425:13
            |
        425 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:437:13
            |
        437 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:449:13
            |
        449 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:459:13
            |
        459 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:469:13
            |
        469 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        489 | impl_vector_element_for_primitive!(u8);
            | -------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:400:13
            |
        400 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:404:13
            |
        404 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:414:13
            |
        414 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:371:9
            |
        371 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:381:9
            |
        381 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:425:13
            |
        425 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:437:13
            |
        437 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:449:13
            |
        449 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:459:13
            |
        459 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:469:13
            |
        469 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        490 | impl_vector_element_for_primitive!(u16);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:400:13
            |
        400 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:404:13
            |
        404 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:414:13
            |
        414 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:371:9
            |
        371 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:381:9
            |
        381 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:425:13
            |
        425 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:437:13
            |
        437 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:449:13
            |
        449 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:459:13
            |
        459 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:469:13
            |
        469 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        491 | impl_vector_element_for_primitive!(u32);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:400:13
            |
        400 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        492 | impl_vector_element_for_primitive!(u64);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:404:13
            |
        404 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        492 | impl_vector_element_for_primitive!(u64);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:414:13
            |
        414 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        492 | impl_vector_element_for_primitive!(u64);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:371:9
            |
        371 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        492 | impl_vector_element_for_primitive!(u64);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:381:9
            |
        381 |         #[doc(hidden)]
            |         ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        492 | impl_vector_element_for_primitive!(u64);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `vector_element_by_value_methods` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:425:13
            |
        425 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        492 | impl_vector_element_for_primitive!(u64);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:437:13
            |
        437 |             #[doc(hidden)]
            |             ^^^^^^^^^^^^^^ help: remove this attribute
        ...
        492 | impl_vector_element_for_primitive!(u64);
            | --------------------------------------- in this macro invocation
            |
            = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
            = note: whether the impl item is `doc(hidden)` or not entirely depends on the corresponding trait item
            = note: this warning originates in the macro `impl_vector_element` (in Nightly builds, run with -Z macro-backtrace for more info)

        warning: `#[doc(hidden)]` is ignored on trait impl items
           --> src/cxx_vector.rs:449:13
       …
  • Loading branch information
jswillard committed Aug 19, 2022
1 parent e41be2f commit 0d30e38
Show file tree
Hide file tree
Showing 62 changed files with 1,034 additions and 634 deletions.
3 changes: 2 additions & 1 deletion .bazelrc
@@ -1 +1,2 @@
build --@rules_rust//:extra_rustc_flags=-Clink-arg=-fuse-ld=lld
build --enable_platform_specific_config
build:linux --@rules_rust//:extra_rustc_flags=-Clink-arg=-fuse-ld=lld
2 changes: 1 addition & 1 deletion .buckconfig
Expand Up @@ -13,7 +13,7 @@
cxxflags = -std=c++11

[rust]
default_edition = 2018
default_edition = required
rustc_flags = \
-Clink-arg=-fuse-ld=lld \
-Crelocation-model=dynamic-no-pic \
Expand Down
21 changes: 9 additions & 12 deletions .github/workflows/ci.yml
Expand Up @@ -16,14 +16,11 @@ jobs:
- rust: nightly
- rust: beta
- rust: stable
- rust: 1.54.0
- rust: 1.56.1
- rust: 1.48.0
- name: macOS
rust: nightly
os: macos
- name: Windows (gnu)
rust: nightly-x86_64-pc-windows-gnu
os: windows
- name: Windows (msvc)
rust: nightly-x86_64-pc-windows-msvc
os: windows
Expand All @@ -35,7 +32,7 @@ jobs:
- name: Enable symlinks (windows)
if: matrix.os == 'windows'
run: git config --global core.symlinks true
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{matrix.rust}}
Expand Down Expand Up @@ -67,7 +64,7 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-java@v1
with:
Expand All @@ -94,10 +91,10 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install Bazel
run: |
wget -q -O install.sh https://github.com/bazelbuild/bazel/releases/download/4.2.2/bazel-4.2.2-installer-linux-x86_64.sh
wget -q -O install.sh https://github.com/bazelbuild/bazel/releases/download/5.1.1/bazel-5.1.1-installer-linux-x86_64.sh
chmod +x install.sh
./install.sh --user
echo $HOME/bin >> $GITHUB_PATH
Expand All @@ -111,7 +108,7 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@clippy
- run: cargo clippy --workspace --tests -- -Dclippy::all

Expand All @@ -120,7 +117,7 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install clang-tidy
run: sudo apt-get install clang-tidy-11
- name: Run clang-tidy
Expand All @@ -131,6 +128,6 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: dtolnay/install@cargo-outdated
- run: cargo outdated --exit-code 1
- run: cargo outdated --workspace --exit-code 1
4 changes: 3 additions & 1 deletion .github/workflows/site.yml
Expand Up @@ -12,8 +12,10 @@ jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Get mdBook
run: |
Expand Down
5 changes: 5 additions & 0 deletions BUCK
@@ -1,6 +1,7 @@
rust_library(
name = "cxx",
srcs = glob(["src/**"]),
edition = "2018",
features = [
"alloc",
"std",
Expand All @@ -16,6 +17,7 @@ rust_binary(
name = "codegen",
srcs = glob(["gen/cmd/src/**"]),
crate = "cxxbridge",
edition = "2018",
visibility = ["PUBLIC"],
deps = [
"//third-party:clap",
Expand All @@ -41,6 +43,7 @@ rust_library(
name = "macro",
srcs = glob(["macro/src/**"]),
crate = "cxxbridge_macro",
edition = "2018",
proc_macro = True,
deps = [
"//third-party:proc-macro2",
Expand All @@ -52,6 +55,7 @@ rust_library(
rust_library(
name = "build",
srcs = glob(["gen/build/src/**"]),
edition = "2018",
visibility = ["PUBLIC"],
deps = [
"//third-party:cc",
Expand All @@ -67,6 +71,7 @@ rust_library(
rust_library(
name = "lib",
srcs = glob(["gen/lib/src/**"]),
edition = "2018",
visibility = ["PUBLIC"],
deps = [
"//third-party:cc",
Expand Down
5 changes: 5 additions & 0 deletions BUILD
Expand Up @@ -8,6 +8,7 @@ rust_library(
"alloc",
"std",
],
edition = "2018",
proc_macro_deps = [
":cxxbridge-macro",
],
Expand All @@ -19,6 +20,7 @@ rust_binary(
name = "codegen",
srcs = glob(["gen/cmd/src/**/*.rs"]),
data = ["gen/cmd/src/gen/include/cxx.h"],
edition = "2018",
visibility = ["//visibility:public"],
deps = [
"//third-party:clap",
Expand Down Expand Up @@ -46,6 +48,7 @@ cc_library(
rust_proc_macro(
name = "cxxbridge-macro",
srcs = glob(["macro/src/**"]),
edition = "2018",
deps = [
"//third-party:proc-macro2",
"//third-party:quote",
Expand All @@ -57,6 +60,7 @@ rust_library(
name = "build",
srcs = glob(["gen/build/src/**/*.rs"]),
data = ["gen/build/src/gen/include/cxx.h"],
edition = "2018",
visibility = ["//visibility:public"],
deps = [
"//third-party:cc",
Expand All @@ -73,6 +77,7 @@ rust_library(
name = "lib",
srcs = glob(["gen/lib/src/**/*.rs"]),
data = ["gen/lib/src/gen/include/cxx.h"],
edition = "2018",
visibility = ["//visibility:public"],
deps = [
"//third-party:cc",
Expand Down
8 changes: 4 additions & 4 deletions Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "cxx"
version = "1.0.63" # remember to update html_root_url
version = "1.0.71" # remember to update html_root_url
authors = ["David Tolnay <dtolnay@gmail.com>"]
edition = "2018"
rust-version = "1.48"
Expand All @@ -24,15 +24,15 @@ alloc = []
std = ["alloc"]

[dependencies]
cxxbridge-macro = { version = "=1.0.63", path = "macro" }
cxxbridge-macro = { version = "=1.0.71", path = "macro" }
link-cplusplus = "1.0"

[build-dependencies]
cc = "1.0.49"
cxxbridge-flags = { version = "=1.0.63", path = "flags", default-features = false }
cxxbridge-flags = { version = "=1.0.71", path = "flags", default-features = false }

[dev-dependencies]
cxx-build = { version = "=1.0.63", path = "gen/build" }
cxx-build = { version = "=1.0.71", path = "gen/build" }
cxx-gen = { version = "0.7", path = "gen/lib" }
cxx-test-suite = { version = "0", path = "tests/ffi" }
rustversion = "1.0"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -3,7 +3,7 @@ CXX &mdash; safe FFI between Rust and C++

[<img alt="github" src="https://img.shields.io/badge/github-dtolnay/cxx-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/dtolnay/cxx)
[<img alt="crates.io" src="https://img.shields.io/crates/v/cxx.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/cxx)
[<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-cxx-66c2a5?style=for-the-badge&labelColor=555555&logoColor=white&logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiAzNi4yQzkuMyAyNTUuNSAwIDI2OC45IDAgMjgzLjlWMzk0YzAgMTMuNiA3LjcgMjYuMSAxOS45IDMyLjJsMTAwIDUwYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDMuOS01MiAxMDMuOSA1MmMxMC4xIDUuMSAyMi4xIDUuMSAzMi4yIDBsMTAwLTUwYzEyLjItNi4xIDE5LjktMTguNiAxOS45LTMyLjJWMjgzLjljMC0xNS05LjMtMjguNC0yMy40LTMzLjd6TTM1OCAyMTQuOGwtODUgMzEuOXYtNjguMmw4NS0zN3Y3My4zek0xNTQgMTA0LjFsMTAyLTM4LjIgMTAyIDM4LjJ2LjZsLTEwMiA0MS40LTEwMi00MS40di0uNnptODQgMjkxLjFsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42em0yNDAgMTEybC04NSA0Mi41di03OS4xbDg1LTM4Ljh2NzUuNHptMC0xMTJsLTEwMiA0MS40LTEwMi00MS40di0uNmwxMDItMzguMiAxMDIgMzguMnYuNnoiPjwvcGF0aD48L3N2Zz4K" height="20">](https://docs.rs/cxx)
[<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-cxx-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rs" height="20">](https://docs.rs/cxx)
[<img alt="build status" src="https://img.shields.io/github/workflow/status/dtolnay/cxx/CI/master?style=for-the-badge" height="20">](https://github.com/dtolnay/cxx/actions?query=branch%3Amaster)

This library provides a **safe** mechanism for calling C++ code from Rust and
Expand Down
19 changes: 10 additions & 9 deletions WORKSPACE
Expand Up @@ -4,27 +4,28 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "rules_rust",
sha256 = "29fee78077bd8c6477bc895a47e6c759f92df0735ed60587e1da7b51f53d26eb",
strip_prefix = "rules_rust-23a4631cad819003642b1a148e458fe4ed2c54e1",
sha256 = "617082067629939c0a22f587811a3e822a50a203119a90380e21f5aec3373da9",
strip_prefix = "rules_rust-e07881fa22a5f0d16230d8b23bbff2bf358823b8",
urls = [
# Main branch as of 2021-12-07
"https://github.com/bazelbuild/rules_rust/archive/23a4631cad819003642b1a148e458fe4ed2c54e1.tar.gz",
# Main branch as of 2022-04-27
"https://github.com/bazelbuild/rules_rust/archive/e07881fa22a5f0d16230d8b23bbff2bf358823b8.tar.gz",
],
)

load("@rules_rust//rust:repositories.bzl", "rust_repositories")
load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")

RUST_VERSION = "1.57.0"
RUST_VERSION = "1.60.0"

rust_repositories(
edition = "2018",
rules_rust_dependencies()

rust_register_toolchains(
version = RUST_VERSION,
)

load("//tools/bazel:vendor.bzl", "vendor")

vendor(
name = "third-party",
lockfile = "//third-party:Cargo.lock",
cargo_version = RUST_VERSION,
lockfile = "//third-party:Cargo.lock",
)
9 changes: 7 additions & 2 deletions book/diagram/.gitignore
@@ -1,2 +1,7 @@
/bin
/build
*.aux
*.fdb_latexmk
*.fls
*.log
*.pdf
*.png
*.svg
16 changes: 6 additions & 10 deletions book/diagram/Makefile
@@ -1,12 +1,8 @@
all: overview.svg
overview.svg: overview.pdf
pdf2svg $< $@

build/bin/svgbob:
cargo install --git https://github.com/ivanceras/svgbob --rev df01674c47350665158ececa476e63f51c58a9c7 --root build
overview.pdf: overview.tex
latexmk $<

%.svg: %.ascii build/bin/svgbob
build/bin/svgbob $< > $@

clean:
rm -f *.svg

.PHONY: all clean
overview.png: overview.svg
svgexport $< $@ 3x
13 changes: 0 additions & 13 deletions book/diagram/overview.ascii

This file was deleted.

0 comments on commit 0d30e38

Please sign in to comment.