271 Commits

Author SHA1 Message Date
David Tolnay
0b8814062b
Skip a move construction on Unique/SharedPtr::new 2020-12-01 21:40:52 -08:00
David Tolnay
23a0e9d1bc
Insert some pointer casts to hide type of ptr target from improper_ctypes 2020-12-01 21:00:02 -08:00
David Tolnay
b3b24a1fe0
Add Rust std::shared_ptr binding 2020-12-01 20:49:04 -08:00
David Tolnay
9bbbe5fa89
Release 1.0.9 2020-12-01 14:50:36 -08:00
David Tolnay
22af60d237
Fix enum PartialOrd and Ord derives 2020-12-01 14:49:47 -08:00
David Tolnay
0b933debac
Release 1.0.8 2020-11-30 00:21:02 -08:00
David Tolnay
76dfe624d0
Pull in syn 1.0.53 for negative impl support 2020-11-29 21:50:54 -08:00
David Tolnay
45e4a80875
Release 1.0.7 2020-11-29 14:57:08 -08:00
David Tolnay
1dcd53e4a7
Allow instance methods with same name on different types in same bridge 2020-11-29 14:46:55 -08:00
David Tolnay
edff9c0d50
Suppress clippy too_many_arguments lint 2020-11-27 20:54:08 -08:00
David Tolnay
16e2620fe5
Add ExternType derive for opaque Rust types 2020-11-27 19:45:21 -08:00
David Tolnay
ecce017e14
Release 1.0.6 2020-11-27 18:31:15 -08:00
David Tolnay
afdf3d7364
Use standard library's Hash derive
This avoids Clippy derive_hash_xor_eq warnings in generated code:

    error: you are implementing `Hash` explicitly but have derived `PartialEq`
      --> tests/ffi/lib.rs:28:21
       |
    28 |     #[derive(Debug, Hash)]
       |                     ^^^^
       |
       = note: `#[deny(clippy::derive_hash_xor_eq)]` on by default
    note: `PartialEq` implemented here
      --> tests/ffi/lib.rs:16:1
       |
    16 | #[cxx::bridge(namespace = "tests")]
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq
       = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
2020-11-27 18:22:40 -08:00
David Tolnay
7da38209bf
Support derive(Hash) 2020-11-27 18:09:44 -08:00
David Tolnay
a05f9402db
Tweak operator symbol mangling 2020-11-27 17:44:18 -08:00
David Tolnay
a6a9e94e08
Support derive(Default) on structs 2020-11-27 17:28:55 -08:00
David Tolnay
8438935356
Wire up comparison operators 2020-11-27 17:17:52 -08:00
David Tolnay
577135e79a
Support derive(PartialOrd, Ord) 2020-11-27 17:17:51 -08:00
David Tolnay
a6f3b6f4ec
Implement operator!= using a distinct symbol from operator== 2020-11-27 17:00:20 -08:00
David Tolnay
ec9b4ba0a6
Avoid function name collision on __operator_eq 2020-11-27 16:57:06 -08:00
David Tolnay
b960ed26af
Emit operator== for structs with derive(PartialEq) 2020-11-27 15:59:03 -08:00
David Tolnay
21466dfe28
Allow derive(PartialEq, Eq) on shared types 2020-11-27 15:59:03 -08:00
David Tolnay
a3619e92f7
Prepare for PartialEq derives on structs 2020-11-27 15:59:03 -08:00
David Tolnay
b3d7bb12fb
Move PartialEq related derive logic to derive module 2020-11-27 15:59:03 -08:00
David Tolnay
982158b9e4
Suppress clippy single_match lint 2020-11-27 15:58:55 -08:00
David Tolnay
bc047bb26e
Add helper for querying derived traits 2020-11-27 14:30:18 -08:00
David Tolnay
f84c98bdb7
Implement derive(Debug) on shared structs and enums 2020-11-27 13:26:54 -08:00
David Tolnay
fbc4669989
Handle derives on shared enums 2020-11-27 13:08:45 -08:00
David Tolnay
0521373464
Refer to std derives by absolute path
This prevents hijacking if the caller's crate has a macro in
scope (via #[macro_use]) with the same name.
2020-11-27 12:52:12 -08:00
David Tolnay
2c24e5cb84
Refactor struct derive implementations 2020-11-27 12:47:41 -08:00
David Tolnay
d8ad970270
Extract derive implementations to module 2020-11-27 12:44:05 -08:00
David Tolnay
f3b89fb23a
Preserve span of fields in derived Clone impl 2020-11-27 12:32:30 -08:00
David Tolnay
b247df1d26
Preserve span on Derive trait impls 2020-11-27 12:20:49 -08:00
David Tolnay
4a0c53a7b0
Expand derives manually where allowed 2020-11-27 12:19:33 -08:00
David Tolnay
1c534cfdc1
Release 1.0.5 2020-11-25 21:30:22 -08:00
David Tolnay
5515a9e820
Generalize SliceRef codegen to non-u8 element type 2020-11-25 19:34:42 -08:00
David Tolnay
73b7264eb0
Generalize Type::SliceRefU8 to Type::SliceRef 2020-11-25 17:44:10 -08:00
David Tolnay
216fed4a37
Release 1.0.4 2020-11-25 13:10:10 -08:00
David Tolnay
15609ab97b
Enable UniquePtr::new for enums 2020-11-25 07:14:12 -08:00
David Tolnay
0c6417f21d
Release 1.0.3 2020-11-24 14:15:48 -08:00
David Tolnay
c5629f021e
Support &mut [u8] 2020-11-24 13:45:27 -08:00
David Tolnay
9754dafe8a
Release 1.0.2 2020-11-22 12:10:18 -08:00
David Tolnay
ecd8193464
Release 1.0.1 2020-11-19 20:40:07 -08:00
David Tolnay
bf1000f40e
Release 1.0.0 2020-11-17 08:35:42 -08:00
David Tolnay
1964acdfcd
Fix Cargo.toml manifest homepage metadata 2020-11-17 08:35:27 -08:00
David Tolnay
6a936b3117
Add link to website 2020-11-17 08:33:33 -08:00
David Tolnay
0f0162f37d
Bump namespace to 1 2020-11-17 08:30:10 -08:00
David Tolnay
62cae8e16c
Restrict extern Rust types to unique local types for now 2020-11-17 08:01:08 -08:00
David Tolnay
bf7ae81229
Remove Pin UniquePtr support 2020-11-16 23:36:05 -08:00
David Tolnay
099adee57b Release 0.5.10
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+ytjAACgkQ+boUO5X/
 bYLgNBAAyX5HlteZbXtpp734wqnPkl3XrJIifqyotfB1kfDABDJIBIKQAQt2X9c/
 A2NyZK1fJJhWpWRkVAnijPi0ern9Ac2E3lNlpSzSas8MYQsdrP3kVtmu6jYqWzE7
 1CH0WwJJqKe28TO4dZXs/OG/nW8bAQZkNMT6e1Oprg3m+mmz+UxGg96Hb+luWJs8
 ZqK1Kmscvwz5ZAb+skkVpOxBfDXkSCnu4N6IypF/s3aKS65ViBr82pekozKJVnGG
 jtABYuSSsyx9qhQyHUiIR6ZD8dZ1T13qQki3ldkpwTosf7zVdp2H6cqZSZ0DAqYJ
 VbtKWacOkUuTHuRqnTltoMBTcUGoZtlEqv/tf0GRkUoUHGuxw1/JNzW08i11gJpN
 MjGtJcZUsvODBhwIPlhE3bz+ugzwroLPHWI3hXHN+0iAAl3vNNOQwad+1bB/VhjR
 5JUn8HUYOW289ajxBPYw1yvpJyewW+dnCri2HZ+Jr+3Iy3OoqET+523vH1hx9adD
 Og4TUamUuTg2EZ4EwHl89OYmSByopEXn/gBSx6WyV8U5xMJS4d739fnSSmvEgrCq
 FExhe5N6+MULes4P5LVlxk2gFbC0qv8vJbnOlTl0qPx6c/GdEo0Bon3CvuRKnP+D
 QHh8nefJp/g3eE/IUSkZmn1+wPKHnWdCoVlrPJ9lYERmQbqYWrE=
 =vGZ1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+ytr4ACgkQ+boUO5X/
 bYJGIw/9Hr/grPYcKB/y849xezFIfbuQMvIkztI/N2Fh3NqovyCC+ljE2D56W2ts
 Bde2G/bQGgadO5J4xE5RAoZDNFOs3CXr/aJJ2GwJ+xme2LT8dp8lvxJInMwuWYIb
 wf/k91loL+rL7QD4iFMLlw4v6ZuIvQrAwL78dZAr4NTnXC5nFBfY2RrzOOGjgZGV
 rdLkl9nkgrXX7+mCXaS0uIaNeKAuYEHhJMFFkgyqP2woBMLLLuCr6sf76KIrp9Bq
 y73Y9z0rx7EaITrEgWrJqrAlppMPWo12ZD/LBHz33mhW31RV/NA/Xup6btLI8lbs
 2E39YXIzd00vpkuLIdTSqPNlmg13TiKjlINNI/PMVdTEZg3RvJg/YfYwVOwojCwN
 rHXkvWTqZxxV7syVIjx1OXrndDevyQ/d01OJl+nSk68RuJLDIFWtDp1lTwKOiAyR
 gA/njqkuQzP4CctQpYMmCA9NgfOXI6GjXyySx8yZY9L8yjQSwwHhxsgROoStjz4H
 PczPoJtjsJ/SOOVuWUYPN+k/0TjWhi1ZqLThIRX3twrpMP5vNFOesiJcIRY7aiaD
 72gqwpNyxqAXZRTzfUOyk8Vu0owyI5Qi6NKy9Fl/HxrZWe5SYKtS4JQzvewf92Kj
 Xlh6d2fIT8nX25CeOK/fKzE7+ybuLicb06AdwVMbuZIz0kVhalA=
 =bT28
 -----END PGP SIGNATURE-----

Merge 0.5.10 into master
2020-11-16 09:28:10 -08:00