1784 Commits

Author SHA1 Message Date
David Tolnay
26a5292598
Mutable iterator for CxxVector 2020-12-21 17:39:18 -08:00
David Tolnay
0d52717355
Simplify CxxVector iterator next method 2020-12-21 17:35:24 -08:00
David Tolnay
cbf0964a7c
Merge pull request #589 from dtolnay/vecgetmut
Add mutable indexing for CxxVector
2020-12-21 17:32:20 -08:00
David Tolnay
767e00d195
Add mutable indexing for CxxVector 2020-12-21 17:23:33 -08:00
David Tolnay
abf03e7703
Merge pull request #588 from dtolnay/variant
Support cxx_name/rust_name attributes on enum variants
2020-12-21 16:58:22 -08:00
David Tolnay
f221718091
Add some use of enum variant rename in tests 2020-12-21 16:47:26 -08:00
David Tolnay
6bf9ef4749
Parse cxx_name and rust_name attributes on enum variants 2020-12-21 16:26:41 -08:00
David Tolnay
e6f6214c00
Store enum variant name as Pair 2020-12-21 16:26:41 -08:00
David Tolnay
b11c9ef640
Show intended usage example on attrs::Parser 2020-12-21 16:26:22 -08:00
David Tolnay
d25033c28e
Work around clippy needless_update lint on attrs::Parser 2020-12-21 16:24:19 -08:00
David Tolnay
2680923a7e
Factor out variant parse logic 2020-12-21 16:07:14 -08:00
David Tolnay
c2a4c78a13
Inline Pair construction 2020-12-21 15:55:31 -08:00
David Tolnay
885be13744
Parse cxx_name/rust_name attrs on all syntax tree nodes holding Pair 2020-12-21 15:53:53 -08:00
David Tolnay
a2dfcbfde6
Match argument order between attr parser and Pair::new 2020-12-21 15:46:24 -08:00
David Tolnay
6a990f8035
Factor out a Pair constructor for common parser use case 2020-12-21 15:43:08 -08:00
David Tolnay
ddbcb524b9
Parser minor cleanup 2020-12-21 15:38:44 -08:00
David Tolnay
bc954d94e0
Defer generics errors until after attribute errors
All attribute errors are nonfatal so we might as well report them all
even if an input contains unsupported generics.
2020-12-21 15:17:12 -08:00
David Tolnay
7cd9fec04c
Touch up Pair and RustName construction for consistency 2020-12-21 15:03:23 -08:00
David Tolnay
20cc2d35bd
Expose Pair construction only from differing idents 2020-12-21 15:01:07 -08:00
David Tolnay
dee9fa3853
Simplify Pair to fully qualified 2020-12-21 14:40:50 -08:00
David Tolnay
2d99b00fcc
Inline some niche RustName methods 2020-12-21 14:34:35 -08:00
David Tolnay
fa5a4a6b5b
Add debug assertions to some Vec indexing 2020-12-21 14:08:08 -08:00
David Tolnay
d4fff5d951
Mark Vec front/back noexcept 2020-12-21 14:04:11 -08:00
David Tolnay
5965894ca8
Remove includes duplicated between cxx.h and cxx.cc 2020-12-21 13:58:45 -08:00
David Tolnay
c5ef010349
Release 1.0.20 1.0.20 2020-12-21 13:34:59 -08:00
David Tolnay
233c88bc8f
Lockfile update 2020-12-21 13:32:28 -08:00
David Tolnay
133a9b978b
Recognize extern function return value as trivial reason 2020-12-21 13:30:47 -08:00
David Tolnay
8a01b9d1a1
Merge pull request #587 from dtolnay/trivial
Join trivial reasons in one message
2020-12-21 13:22:48 -08:00
David Tolnay
5b1d863c1e
Join trivial reasons in one message 2020-12-21 13:13:35 -08:00
David Tolnay
ee0ccbe4cd
Focus pin mut opaque message on Pin suggestion
In common usage the Pin<&mut T> is going to be the right fix most of the
time. In all of these cases the user is *also* going to receive a
suggestion to implement ExternType. That suggestion will appear pointing
to the opaque extern `type` item.
2020-12-21 13:05:55 -08:00
David Tolnay
0286de8011
Clean up type name in IsRelocatable static assertion message 2020-12-20 22:00:20 -08:00
David Tolnay
0634b1f28c
Extract trivial extern type alias detection to module 2020-12-20 21:12:11 -08:00
David Tolnay
ee20544e01
Merge trivial detection loops over function apis 2020-12-20 20:41:32 -08:00
David Tolnay
93fcfa401f
Rearrange trivial reason detection 2020-12-20 20:38:20 -08:00
David Tolnay
d0a6c0b575
Condense name of unpinned mutable arg trivial reason 2020-12-20 20:37:56 -08:00
David Tolnay
b725d5a933
Touch up PR 550 2020-12-20 20:29:47 -08:00
David Tolnay
12b4a16198
Merge pull request #550 from adetaylor/no-pin-trivial-2
Allow un-pinned Trivial extern types to be passed by reference as arguments
2020-12-20 20:25:09 -08:00
David Tolnay
06183a751f
Merge pull request 586 from dtolnay/c_str
Add c_str() member function for rust::String
2020-12-20 00:27:45 -08:00
David Tolnay
8bc83389f1
Add String c_str test 2020-12-18 12:54:47 -08:00
David Tolnay
cca2e616e0
Add c_str() member function for rust::String 2020-12-18 12:49:56 -08:00
David Tolnay
3077818a1f
Release 1.0.19 1.0.19 2020-12-18 11:27:27 -08:00
David Tolnay
917bb6f96e
Lockfile update 2020-12-18 11:27:14 -08:00
David Tolnay
40319b4ab3 Merge pull request #585 from dtolnay/mut
Consider mut receiver for allowing mut C++ return type
2020-12-18 11:16:11 -08:00
David Tolnay
a020d10143
Consider mut receiver for allowing mut C++ return type 2020-12-18 11:04:18 -08:00
David Tolnay
515ba1b420
Test some C++ member functions returning references 2020-12-18 11:04:18 -08:00
David Tolnay
b03d41d5d4
Remove unneeded Unpin import
Unpin is always available via the std prelude.
2020-12-16 10:18:29 -08:00
David Tolnay
83cbe894dc
Remove shared_ptr from pending bindings table since it is done 2020-12-14 01:50:25 -08:00
David Tolnay
8d6f7710f1
Reflect generalized Slice support in table on website 2020-12-14 01:44:49 -08:00
David Tolnay
d167e20c71
Merge pull request #582 from dtolnay/fused
Mark CxxVector iterator as FusedIterator
2020-12-13 16:38:46 -08:00
David Tolnay
526faa2214
Mark CxxVector iterator as FusedIterator
The contract is that once it's returned None, it is guaranteed to
continue returning None as many time as called again.
2020-12-13 16:21:02 -08:00