Commit Graph

157 Commits

Author SHA1 Message Date
David Tolnay
c4ff07b964
Release 0.4.4 2020-09-08 15:11:17 -07:00
David Tolnay
430b5de1ff
Release 0.4.3 2020-09-07 00:00:23 -07:00
David Tolnay
e67bcf59fc
Expand unsafety on extern C++ functions 2020-09-06 23:50:44 -07:00
David Tolnay
a8d94a110f
Accept unquoted path in type_id macro 2020-09-06 23:30:24 -07:00
David Tolnay
e0b6c735e8
Release 0.4.2 2020-09-02 15:54:12 -07:00
David Tolnay
8745f7f5f8
Release 0.4.1 2020-09-02 09:46:06 -07:00
David Tolnay
5f3fb89a2a
Release 0.4.0 2020-09-01 23:03:46 -07:00
David Tolnay
591dcb647d
Bump namespace to 04 2020-09-01 23:00:38 -07:00
David Tolnay
bcc0a1c9f9
Release 0.3.9 2020-09-01 21:09:08 -07:00
David Tolnay
9f1e3d76a3
Release 0.3.8 2020-09-01 12:40:51 -07:00
David Tolnay
9075cdcd38
Release 0.3.7 2020-08-30 12:10:38 -07:00
David Tolnay
a593d6e867
Implement extern C++ shared structs 2020-08-29 19:48:08 -07:00
David Tolnay
805dca3e10
Propagate unsafety from module to extern block 2020-08-29 19:11:02 -07:00
David Tolnay
3c64a4e144
Parse full file using the new Module parser 2020-08-29 14:36:42 -07:00
David Tolnay
05ef6ffa28
Data structure to represent possibly unsafe module 2020-08-29 11:55:04 -07:00
David Tolnay
907debe8b4
Release 0.3.6 2020-08-28 16:56:19 -07:00
David Tolnay
33f56ad8d5
Implement Vec<String> 2020-08-28 00:25:41 -07:00
David Tolnay
f7a592bfcf
Release 0.3.5 2020-08-27 01:14:08 -07:00
David Tolnay
f1c7f3219b
Handle &mut reference in more places 2020-08-27 00:58:15 -07:00
David Tolnay
c8361027d9
Remove dependency of ui test on whether rust-src is installed 2020-08-25 22:03:00 -07:00
David Tolnay
57d3c68a23
Release 0.3.4 2020-05-22 11:13:47 -07:00
David Tolnay
6aa34e4240
Release 0.3.3 2020-05-11 20:56:51 -07:00
David Tolnay
8918451412
Pull in syn 1.0.20 for Macro::parse_body fix
https://github.com/dtolnay/syn/pull/791

This will give better error message in the upcoming implementation of
include!(<bracketed/path/to>).
2020-05-11 20:05:56 -07:00
David Tolnay
c605e6fa61
Respect inferred enum repr in Rust code generator 2020-05-10 23:37:12 -07:00
David Tolnay
c0fad20670
Add crates.io categories and keywords 2020-05-10 20:16:28 -07:00
David Tolnay
e2f70fea3e
Release 0.3.2 2020-05-08 15:57:14 -07:00
David Tolnay
878ab12a15
Release 0.3.1 2020-05-08 10:05:03 -07:00
David Tolnay
2b821e60e0
Don't do trait impls for non-local types 2020-05-07 23:18:09 -07:00
David Tolnay
83fe0f06d5
Preserve a better span for type id mismatch errors 2020-05-07 20:14:49 -07:00
David Tolnay
c6ba2d27f4
Condense type ids rendered by rustc 2020-05-07 19:46:02 -07:00
David Tolnay
5f9e8ca1a0
Type alias code generation 2020-05-07 19:46:02 -07:00
David Tolnay
e47119ca2f
Pull in syn 1.0.19
Includes https://github.com/dtolnay/syn/pull/790 which we need for
extern type aliases.
2020-05-07 19:46:02 -07:00
David Tolnay
9938381aa7
Introduce type aliases in syntax tree 2020-05-07 19:46:02 -07:00
David Tolnay
d09e012608
Add a type-level encoding of qualified paths 2020-05-07 19:46:01 -07:00
David Tolnay
db08d4affe
Pull in quote 1.0.4
Includes https://github.com/dtolnay/quote/pull/151 which will be used in
the implementation of type_id.
2020-05-07 19:46:01 -07:00
Joel Galenson
8854773c56 Compute enum discriminant during parsing
This allows us to reuse the computation in multiple places later.
2020-05-05 08:32:32 -07:00
Joel Galenson
0f654ffeb0 Fix previous commit. 2020-05-04 20:04:21 -07:00
Joel Galenson
905eb2e1f5 Support enums defined in C++ code.
This allows listing an enum in an extern "C" block as well as in the
shared block.  In this case, we do not emit the C++ declaration of the
enum but instead emit static assertions that it has the values that we
expect.
2020-05-04 15:02:17 -07:00
David Tolnay
5275978d13
Batch errors from the parser 2020-05-04 01:29:17 -07:00
David Tolnay
cbf3f03ff2
Demarcate the infallible majority of expand.rs 2020-05-04 01:29:17 -07:00
David Tolnay
0dd85ff5f7
Move error collection one level out of type checker 2020-05-04 01:29:17 -07:00
David Tolnay
2ec14632c0
Be consistent about certain variable names always meaning a reference 2020-05-04 00:53:12 -07:00
David Tolnay
0d366c754b
Remove CI badge from Cargo.toml
Support for badges has been deprecated by crates.io.
2020-05-01 20:51:38 -07:00
Joel Galenson
db1ec31283 Expose the enum value to Rust as a field 2020-05-01 14:00:48 -07:00
Joel Galenson
04fa0967e2 Properly handle enum discriminant overflows.
This both checks for enum values that are illegal due to overflow and
ensures we do not overflow on valid enums.
2020-05-01 10:00:31 -07:00
David Tolnay
9dcb8339f0
Do not abort parser on namespace ident checks 2020-04-30 22:55:23 -07:00
David Tolnay
d7984c2b7f
Touch up PR 170 2020-04-30 22:50:10 -07:00
Joel Galenson
c03402aee5 Support C-style enums
This adds support for passing C-style enums between Rust and C++.

We use the Rust representation for enums suggested by dtolnay in #132.
Note that as this does not use real enums, Rust code cannot treat them
as normal enums, e.g., by converting them to integers.  But common
uses such as pattern matching remain unchanged.
2020-04-30 14:12:37 -07:00
David Tolnay
63a4384af7
Release 0.3.0 2020-04-29 18:57:39 -07:00
David Tolnay
6960162922
Bump namespace to cxxbridge03 2020-04-29 18:49:50 -07:00