Commit Graph

47 Commits

Author SHA1 Message Date
David Tolnay
c72a9f6ad6
Update cxx::bridge modules to use extern "C++" as the ABI 2020-11-11 10:57:50 -08:00
David Tolnay
4ca366fa57
Switch intro example to blobstore client 2020-11-10 23:05:05 -08:00
David Tolnay
2a0a80a260
Raise minimum supported Rust version to 1.43 2020-10-11 03:49:37 -07:00
David Tolnay
d9e789e8cf
Fix readme's reference to directory of cmd
This moved from cmd to gen/cmd in f8ed07327b.
2020-10-08 21:22:45 -07:00
David Tolnay
c499950924
Release 0.5.0 2020-10-08 19:34:50 -07:00
David Tolnay
c5cd7a1325
Show cxx-build dependency in readme 2020-09-03 15:32:34 -07:00
David Tolnay
9c815dfba2
Rephrase build robustness note 2020-09-02 09:54:19 -07:00
David Tolnay
5f3fb89a2a
Release 0.4.0 2020-09-01 23:03:46 -07:00
David Tolnay
278f6fc8cd
Update demo documentation 2020-09-01 20:48:13 -07:00
David Tolnay
85487b00f8
Add Option<T> to todo list 2020-08-22 06:13:27 -07:00
Christopher Durham
b8d211d359
Small typo fix
s/when manipulation a/when manipulating a/
2020-05-24 11:56:32 -04:00
David Tolnay
dd3af090b7
Try out new style of readme badges 2020-05-12 22:19:46 -07:00
David Tolnay
cf22385662
Document c++ standard support 2020-05-11 20:50:59 -07:00
David Tolnay
6cadf70b58
Merge pull request #194 from philipcraig/std_c++11_not_required_on_msvc
avoid MSVC warning via flag_if_supported
2020-05-09 12:06:54 -07:00
Philip Craig
7e14e2e6cb
avoid MSVC warning via flag_if_supported 2020-05-09 12:00:49 -07:00
Philip Craig
064668a00f fix path to c++ generator example 2020-05-09 08:24:12 +01:00
David Tolnay
29061ea1d8
Update build status badge to GitHub Actions 2020-05-05 13:56:54 -07:00
David Tolnay
63a4384af7
Release 0.3.0 2020-04-29 18:57:39 -07:00
David Tolnay
cc9ece5186
Document the line that needs to go in build-dependencies 2020-04-29 18:57:05 -07:00
David Tolnay
f8ed07327b
Split cxx runtime and build components 2020-04-29 18:23:14 -07:00
David Tolnay
5d08baa8ae
Link to release notes from readme 2020-04-27 18:12:08 -07:00
David Tolnay
a8df0943f5
Document pass-by-value restriction of CxxVector 2020-04-25 19:08:40 -07:00
David Tolnay
347c3d01f4
Add Vec and std::vector to builtin types list 2020-04-25 18:02:12 -07:00
David Tolnay
3deb2f9d2a
Remove checkboxes from readme in favor of filed issues 2020-04-22 19:16:38 -07:00
David Tolnay
b6a5f67b19
Remove methods from intro example code
I'd like to keep this first code snippet as focused as possible on the
most important concepts. We'll need to figure out somewhere else to put
exhaustive documentation of the full feature set.
2020-04-17 16:44:03 -07:00
Joel Galenson
f937996fc7 Update documentation 2020-04-16 16:25:04 -07:00
David Tolnay
efe81052e7
Touch up &[u8] PR 2020-04-14 16:42:06 -07:00
Adrian Taylor
f5dd552036 Adding &[u8] support.
This change adds specifically, support for &[u8] with a corresponding
rust::Slice<uint8_t> type. No other types of slice are permitted. The
rationale is that it may be common to pass binary data back and forth
across the FFI boundary, so it's more urgent to get this in place sooner.
Broader support for other slices can wait for the future.

But, both C++ and Rust-side bindings should allow the existing support
to be broadened to other Slice types in future without code changes.

A few specific notes:

* The name "rust::Slice" might be better as "rust::SliceRef" but I'm
  following the precedent of "rust::Str".
* It would be good to add constructors from std::span but as that's
  a C++20 feature, that may have to wait until C++ feature detection
  is resolved.
* Internally, this follows the pattern of &str, where the parser will
  initially recognize this as Type::Ref (of Type::Slice) but then
  will replace that with Type::SliceRefU8. Type::Slice should not
  persist through later stages. As we later come to support other
  types of slice, we would probably want to remove Type::SliceRefU8.
2020-04-14 14:13:48 -07:00
David Tolnay
31b5aad39b
Use more obvious words as the "name in C++" of Result 2020-04-10 19:35:47 -07:00
David Tolnay
e0bad9300c
Remove finished item from todo list 2020-04-02 14:16:29 -07:00
David Tolnay
addc748bbc
Add function pointers to builtin types table 2020-03-29 22:19:48 -07:00
David Tolnay
559fbb3918
Give up and use ascii arrows
None of the unicode ones look consistently good across different systems.
2020-03-17 23:32:22 -07:00
David Tolnay
06515f0ed2
Replace arrows with html entity 2020-03-17 23:28:02 -07:00
David Tolnay
cf2de24613
Add Result to builtin types table
Closes #53.
2020-03-17 23:20:57 -07:00
David Tolnay
b606ce367e
Add CI on stable 1.42 2020-03-16 01:17:58 -07:00
David Tolnay
239d05fac6
Add Arc and shared_ptr to tbd table
Closes #18.
2020-03-13 01:36:52 -07:00
David Tolnay
218e237cac
Remove blank builtin types table row 2020-03-13 01:34:05 -07:00
David Tolnay
f51dc4d0bd
Release 0.2.0 2020-03-12 00:50:40 -07:00
David Tolnay
736cbcad40
Move header include path to rust/cxx.h 2020-03-11 16:51:38 -07:00
David Tolnay
750755e557
Rename namespace to rust::inline cxxbridge01 2020-03-01 13:47:29 -08:00
David Tolnay
324437a263
Rename C++ RustBox to Box 2020-03-01 13:47:29 -08:00
David Tolnay
09dbe75a5d
Rename C++ RustStr to Str 2020-03-01 13:47:28 -08:00
David Tolnay
5608216979
Rename C++ RustString to String 2020-03-01 13:47:28 -08:00
David Tolnay
84f232ed0b
Fill in blank table cells with placeholder 2020-01-08 12:22:56 -08:00
David Tolnay
ccd3975f40
Add a brief safety explanation up top 2020-01-08 09:35:04 -08:00
David Tolnay
e43b737f2c
Release 0.1.0 2020-01-08 08:57:24 -08:00
David Tolnay
7db7369797
Safe FFI between Rust and C++ 2020-01-08 08:57:24 -08:00