Commit Graph

1356 Commits

Author SHA1 Message Date
David Tolnay
1126426ab7
Merge pull request #454 from dtolnay/externcxx
Enforce use of extern "C++" as the ABI string
2020-11-11 11:33:37 -08:00
David Tolnay
6bd29d526b
Merge pull request #453 from dtolnay/sliceconst
Rename rust::Slice<T> to rust::Slice<const T>
2020-11-11 11:33:02 -08:00
David Tolnay
ea25ac8df5
Enforce use of extern "C++" as the ABI string 2020-11-11 11:04:08 -08:00
David Tolnay
8685745538
Merge pull request #455 from dtolnay/cxxabi
Update cxx::bridge modules to use extern "C++" as the ABI
2020-11-11 11:03:34 -08:00
David Tolnay
c72a9f6ad6
Update cxx::bridge modules to use extern "C++" as the ABI 2020-11-11 10:57:50 -08:00
David Tolnay
ce29823968
Rename rust::Slice<T> to rust::Slice<const T> 2020-11-11 10:15:13 -08:00
David Tolnay
4ab1171157 Release 0.5.9
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+sIMQACgkQ+boUO5X/
 bYJVcRAAy4YRZVz44YajDXPqg0iYioczYLKXTdMFcZ3pU4Duf/Qc+DhUQL+fsoOU
 Uut6ooQHckA1IeH0z1D7DtWS8LSUrzHP1oijhNOn0FzraQKEsXJ8cmMAGOjgax5B
 q72TDlqMq5Kfw2JCnxg2QUb1gLimELSSPaA+oZCqTqDfUeuFNtwkOIur2Ym43jzq
 kTe7UMK4nvJ2QHWSUagPfsWG6Vu7243QvmaeIzaSBp2/t6lqKNblSCMXo5wftGFy
 ZD55srTZKOUefk541LaGm5jXfQtcIpjvGPHhwNLfMQpfXp6A+8B7t2wxbGkFPo0n
 rX6TYdKbmjQXLxFk2hHRlhKysnXBGBLYMHKQywLmf37pRhFEE+1yeOcJz9SPKCJg
 DcJpGpLVDPAEpGE1SKX75EH9txv8sySuHMcNM9ONAjfbgEJYxLR3n8JmpexZtqnz
 ZeglcubmV/To5Bn806C8nzRtPY9klUCk4tRGUdxVBxFXKpqovd9PXoRdTURIvN+r
 V8L+D/MuKhGArqIjD3H93IeqlscnW9O8yubQQL4i11GiRqx6hDUncAS7lBmXk0nL
 Kfa5PfH4sxKG7ZP3owEOShslehnwiDWcIbJU9ebs6V0JkiFznQHArIMnPz6ODLFR
 YFSSDUT+HFFc2nE5JO7RHMU9aU6nhSgSs/a+rnVJYEQOnqsVWZM=
 =wiCo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+sIQYACgkQ+boUO5X/
 bYKJHg/5AeA2N4l/nZUteKLGySxaB2+RA5/0XVdmWQ43Ejf/UzN7ri9nIFou1rus
 sjxnkhEXhqtwPi8hah+TJSPNpIyt0oegL0tes+h7zV5jwfSybwzoPYDhuwq/2t3j
 x8XV6MisG+L0X3HnQaAYNoSFJSDk/PoiZL8c/gNY5qFYHG/NLF6OlJ5gXJ3velNS
 IXIBE4cXwkHdPXf+x8wEb+WBiH8UfAWAsqf5KzMwMLQUfAV88Rll6NkrhKl+EjxW
 IYpbhxa3eyI7P6DpQvRm2t5X20ltxRiXB/tW5uZp2W8wakWYYm+k43D4yhv4jMtc
 Nqss2waYm/aGlAIqBGSC2JC2yNKkU/dGnKWVsmPCz1dkSgnZP1RUF2k49Hi+u9O3
 +HzMJpqYM8LH+vxF3lDrw8iZFHCszuDdvtILL3A/NWz7VdEWcWxQ/lDyeJ8H4dW6
 kLOFxQhLz7oj3uVPDCAKMFsQWJD/xH2ztW2AQUBQuQgjzMfzfDzrGxxoGQDSCTbK
 RtvTPqklMdb8hJj+oym3TYb1+NIHatGqR0o0VEL+bLWTwHGsY0KYRoKkEm2/qhIO
 ZB1Q20vZBakEEnWdqoZYTlNz8NL7BrwgZTMEjbDHyndr5rAkEWKFDbFkDOLhp7N7
 ziIMqs0J+T2e/eDMosPyJNwNk4Ev68tiqKYOGqj5d4FEhNAiCjo=
 =4yvk
 -----END PGP SIGNATURE-----

Merge 0.5.9 into master
2020-11-11 09:35:58 -08:00
David Tolnay
a91ac38a15
Release 0.5.9 2020-11-11 09:34:59 -08:00
David Tolnay
9be07db23b
Merge pull request #449 from dtolnay/blobstore
Switch intro example to blobstore client
2020-11-11 09:34:00 -08:00
David Tolnay
ced948046e
Fix blobstore compilation on macOS and MSVC
macOS:

    src/blobstore.cc:25:73: error: typename specifier refers to non-type member 'impl' in 'org::blobstore::BlobstoreClient'
    BlobstoreClient::BlobstoreClient() : impl(new typename BlobstoreClient::impl) {}
                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
    cxxbridge/crate/demo/include/blobstore.h:20:25: note: referenced member 'impl' is declared here
      std::shared_ptr<impl> impl;
                            ^

MSVC:

    src/blobstore.cc(25): error C2061: syntax error: identifier 'impl'
2020-11-10 23:13:11 -08:00
David Tolnay
4ca366fa57
Switch intro example to blobstore client 2020-11-10 23:05:05 -08:00
David Tolnay
36c2f84fdf
Merge pull request #448 from dtolnay/link
Switch to short form url links in rustdoc
2020-11-10 23:04:50 -08:00
David Tolnay
7614e77068
Switch to short form url links in rustdoc 2020-11-10 22:55:40 -08:00
David Tolnay
3f76b5d780
Merge pull request #446 from dtolnay/push
Add rust::Vec push_back and emplace_back
2020-11-10 20:16:14 -08:00
David Tolnay
fb6b73c777
Add rust::Vec push_back and emplace_back 2020-11-10 20:08:14 -08:00
David Tolnay
ba1551a6ff Release 0.5.8
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+rVlMACgkQ+boUO5X/
 bYKNwg//QLo9Uszx7T/QEv7G5cG45OaNkrNO8rHpS2+KKq4Tw9JQuSoXEEFfQxiH
 beTYDax9sUE5VhbypyF4mlvxfzjcxAljOf32WIXkPntIwkreYZPnpgXsX8pq09He
 ELctCFk2HmQv39ro/r0w48VPFrgoO1rn4YkHPNGwQqnCXsUV9piJidBon7LwnWnk
 6kSLC4jbkau9u4SI27Nc3muN18OZd4vrNaC1MP3FFm65dLf4Z4VP+a1sEzCUzNHQ
 ZCD4WCyXJrpAvDwb7PQX/jN0qo80dy4ekYlypWGxttvL3gVMBsc3gvSwWl0otWpu
 XQ0g23gu8VXk73Bs3OJkVZtpQqhd8aOdaZWfEDe2CUhJ7kGb9tM1UgW6kYQG8VA8
 SF0E+sG1M/6eIzHSqPfjp1jAN2O+4/osV52+n0XqK4kad8twSYANi9GMjysc8NbB
 ARkgv8SNS0JIEaWPLCIRgrRO3T+1W5u3JvX84qZGlhZ991PJdPf4kbr3dHmRXHVL
 zQCLctzUo229224EbSilj1pyiBDM/WSN2OPN/k8ne0zfxwiLqICCYDCnHO6zIKOT
 JCLN3BgphJq2vk3qM0ctG7Fk9wz39nNahRfr9Dx65arlDLauExPrfKkV1pMHUayp
 Ui7eQ4+OUMJXTNjAU0VVxmAfAGoxh250wOH1dcyxqx4dML5jh24=
 =alId
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+rVsMACgkQ+boUO5X/
 bYIKnRAAjTHwKPLW1fdQLeAluxI6BtHZi9++aXlJMe5IVuFxZwNI8MsRDoK7NMcA
 fzjKbnJncKJxjjkUgZ4awTF7eRAk9WgEKRaWDSrCFAQDeTxgbQju/JruwrjY7hvZ
 nrzzeT/YlhA7+Umq0cWGj4IVWY5ihmLSpT1BUe1rO1yaFBP7uNC/ZGiby4IP90fW
 OUuxr3B3mJpEy3voYlahlf0/MfcW+SMG1UOf1iyrK4Dn2+j+omydrAauJMIh0xRM
 q/aQIkolUmadlRgKCYo/fyZo7WRzLXudP0hw0Ecsm+h5JxBmRsV43EhzWR+PF0Ph
 iRVw1t9aC1qQMhoNg1cocaXGC+Jotdi+jxYZWQvbFLuzfEviDclt6kG9B5DYgZMW
 LCh7cCWEk9NEQCAF6DJd0pGHq5HMnIqUG2BPfUOvKlfQ+7qKCmZ5aM3VzRfhJfYJ
 rSjNPjtNhGJFN0AK9sToZDG/4EmJB30pGL48y6ffsn0MBUgy6qKZDQg8qbtkNMv0
 GWWNYLLYnjbVqS1bILbzKD4LLW71Od/BxC0NW80l1q7YHuPyo0ZPejvX2v6mlZPz
 vIc3RrjEnDeW6kOkhJ+MBYQa4z3tz7dospPn+dwNoJwwg2SnmNQqHUhVteUqcReH
 OGA7J4rfczM6vUGFmKljKCTNT7GdZ6xjaDFEY/LS0xoVnjZltT8=
 =FLb6
 -----END PGP SIGNATURE-----

Merge 0.5.8 into master
2020-11-10 19:13:00 -08:00
David Tolnay
5c830f0d16
Release 0.5.8 2020-11-10 19:11:15 -08:00
David Tolnay
ea6f86c89b
Fill in <utility> header needed by Box<T>::Box(T&&) 2020-11-10 19:10:27 -08:00
David Tolnay
16eeec21f5
Merge pull request #445 from dtolnay/fn
Provide rust::Fn call operator in generated header
2020-11-10 19:10:06 -08:00
David Tolnay
a5a1301058
Provide rust::Fn call operator in generated header
Even though the generated code does not use them, this avoids a
situation where the user's code includes a generated header (but not
rust/cxx.h) and thus gets the class definition of rust::Fn, but with the
function call operators undefined. Previously they'd have gotten missing
template errors unless they also included rust/cxx.h.
2020-11-10 19:03:52 -08:00
David Tolnay
c1e475e7bb
Merge pull request #444 from dtolnay/namespace
Parse namespace attribute on foreign mods
2020-11-10 19:03:25 -08:00
David Tolnay
7feb264281
Parse namespace attribute on foreign mods 2020-11-10 18:51:42 -08:00
David Tolnay
302b1753c8
Consistently use &Namespace in parser function signatures 2020-11-10 18:45:14 -08:00
David Tolnay
9b193c388b Release 0.5.7
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+qxogACgkQ+boUO5X/
 bYKwvw//b3I2CI/XUrK/nvfajJvftw/0rLPxFQEnu0t7MJ1rY3h7r9sTwuK+qro6
 F+v0a95rlykhGJs4IWdO/S/2ijiw0L/+fweG19fbpAXFZnmd29yYTfZ+wOYaF6mz
 rUdLBVMWQrOrlg2u18EkBVQ10jBnHJaS5wi1bDb5kJTMS4Xz8C/lfB80YcUaYBeq
 1bS7nDFhXOUeH7voRh6eDwN83lX2ocNZl+Hb2I94PCx3LOfTMnTERMOc+tYvyomd
 m+4pQlICTyjioD5dTnybjnm5k8pxVnLEqFwmOCMMdt23X74IyeMU1zQ83GLQnpRR
 +Mmvv6KupIQ69ds+QVYVwhRYmhS2o+MHaULPf5FryOZDEI0JzemmwcdDcTKEMyTu
 BqRACkyaUkd6g05Imimr84nYmy7CDH3mzU8XQ7qIYnEKDMvuuWTJ4hUZLZndgzAH
 xyuxADo6QjFs1GpRfPHHVMQSX7fY+AdC4iyJAQZDUg6wc3utXb13NYUfS0FD14hu
 DD9sfyrrOYk0lsCMYFM4KMSd15GGeuiaqBxtW8XOvD8JyK/h5bgmcfVFqPDn1tMn
 ULy1RPtl2KytkJU3girXBNODdt8TPHrg+8vuktMu3pIr+ww8sM+E0QQIswq/6/9/
 dT4beXaJBXB8UNrdhENckEDEG3a8uKp4kXc4PwLCv3T5/qQXUKs=
 =6CBW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEERijF2Cz/ZdaBZKeK+boUO5X/bYIFAl+qxusACgkQ+boUO5X/
 bYLNRw//bYg+6cntrbpw/BbTDigGH4MPYAvS5eJ8bHK5GsWPOKYyyHnOrbtITwnv
 5BRsLYj92pXz/0tSnX/oO4evYU11ZxIngWXkkwxm+sG0/C0MFE7WqFe3U5ZTjBoQ
 RiZnHyxu2ioGNKOxQbbF89+sBP+vyawO1tMzuR4qloA1uqv7oau46jYam6iEMh67
 s5iEADvSEd8IPDbHXOQul9QUCQLscPiUAdZb7cLrSyvt3s1jyXELpKSrFpBWLlry
 YcCIfH284OXHPxuqY5bJpUGcFwGp6emaOgjQghAUrNBxf5C1CT9o4Fge0QXBugSC
 Xyd4ZfDem+R5Kmk/Cg14o4aAU3fc3yAjz2Ifdww6/IwHR30ze4xA5zqv/Xcn/FPt
 Cx+Ndv9d6HdMLO6iBBuzojlef/9LymGp9VIfudqPcPj/zSt8YBmrbfWeFc0FQ5bC
 30urfsZs11CCuIwhaj4qYyrUYmGas5Cz1kq0g3O91K8Yq0Qj30h6rVOkr3FYgQZe
 E/w/Syy2WUj2UOxIjv2RVhW89ZzI3f9wyWha3hAh3pDW1CgYbk9r6eIseQ4Y1hKG
 vKn7mZ/7ZdWD0UAGvOw1ulWPJ57a0wkGuwpyeUhoAIs/Mj2/U4VjUD3tpknbNu+m
 N3g79fJEM8mzdPVoq1WMQXFrt/w2h7QZW6q5VY0IkcP6anGpbIg=
 =TkRL
 -----END PGP SIGNATURE-----

Merge 0.5.7 into master
2020-11-10 08:59:14 -08:00
David Tolnay
07c5141446
Release 0.5.7 2020-11-10 08:57:44 -08:00
David Tolnay
4ee0f84397
Merge pull request #443 from dtolnay/comma
Fix placement of commas in C++ member functions that call Rust methods
2020-11-10 08:56:37 -08:00
David Tolnay
9d840365cc
Fix placement of commas in C++ member functions that call Rust methods 2020-11-10 08:50:40 -08:00
David Tolnay
74608d79bf
Add test of indirect return on member function
cxxbridge/sources/tests/ffi/lib.rs.cc: In member function ‘rust::cxxbridge05::String tests::Shared::r_method_on_shared() const’:
    cxxbridge/sources/tests/ffi/lib.rs.cc:1583:52: error: no match for ‘operator&’ (operand types are ‘const tests::Shared’ and ‘rust::cxxbridge05::String’)
     1583 |   tests$cxxbridge05$Shared$r_method_on_shared(*this&return$.value);
          |                                               ~~~~~^~~~~~~~~~~~~~
          |                                               |             |
          |                                               |             rust::cxxbridge05::String
          |                                               const tests::Shared
2020-11-10 08:49:23 -08:00
David Tolnay
0cb4514cfb
Merge pull request #440 from dtolnay/result
Improve placement of diagnostic on Result without Display impl
2020-11-09 20:53:04 -08:00
David Tolnay
5d164678ae
Improve placement of diagnostic on Result without Display impl 2020-11-09 20:47:14 -08:00
David Tolnay
3db709c0c5
Merge pull request #439 from dtolnay/sig
Enforce accurate unsafety declaration on extern Rust sigs
2020-11-09 20:47:06 -08:00
David Tolnay
0e7e37f8e2
Suppress 'consider choosing a more descriptive name' clippy lint in tests
warning: consider choosing a more descriptive name
       --> tests/ffi/lib.rs:247:30
        |
    247 |         fn r_return_identity(_: usize) -> usize;
        |                              ^
        |
        = note: `#[warn(clippy::just_underscores_and_digits)]` on by default
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits

    warning: consider choosing a more descriptive name
       --> tests/ffi/lib.rs:248:25
        |
    248 |         fn r_return_sum(_: usize, _: usize) -> usize;
        |                         ^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits

    warning: consider choosing a more descriptive name
       --> tests/ffi/lib.rs:248:35
        |
    248 |         fn r_return_sum(_: usize, _: usize) -> usize;
        |                                   ^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits
2020-11-09 20:41:35 -08:00
David Tolnay
2621946855
Enforce accurate unsafety declaration on extern Rust sigs 2020-11-09 20:30:45 -08:00
David Tolnay
464d3fc0ac
Add test of unsupported elided lifetime in extern Rust sig 2020-11-09 20:30:45 -08:00
David Tolnay
5f8a70472a
Add test of missing unsafe on extern Rust sig 2020-11-09 20:30:45 -08:00
David Tolnay
c5501544e5
Merge pull request #438 from dtolnay/result
Add ui test of returning a non-displayable error
2020-11-09 20:30:33 -08:00
David Tolnay
9e2f590691
Add ui test of returning a non-displayable error 2020-11-09 20:17:12 -08:00
David Tolnay
22f5ff7563
Release 0.5.6 2020-11-08 19:24:15 -08:00
David Tolnay
7b3605583d
Lockfile update 2020-11-08 19:23:10 -08:00
David Tolnay
7f0f60f9a6
Merge pull request #437 from dtolnay/methods
Support methods/member functions on shared structs
2020-11-08 19:20:58 -08:00
David Tolnay
464aeeb515
Rust-defined methods on shared structs 2020-11-08 19:14:06 -08:00
David Tolnay
102c7eaf68
C++-defined methods on shared structs 2020-11-08 19:08:31 -08:00
David Tolnay
2e159920da
Merge pull request #433 from dtolnay/clippy
Run clippy on test suite in CI
2020-11-06 10:24:09 -08:00
David Tolnay
7a0b134d9c
Run clippy on test suite in CI 2020-11-06 10:14:43 -08:00
David Tolnay
df67e21241
Resolve len_zero lint in cxx-gen test suite 2020-11-06 10:13:14 -08:00
David Tolnay
a972eb7d93
Ignore field_reassign_with_default 2020-11-06 10:12:21 -08:00
David Tolnay
c90b666eec
Ignore some clippy lints in test suite
Closes #430.
2020-11-06 10:11:14 -08:00
David Tolnay
7c5ce689a3
Release 0.5.5 2020-11-06 09:54:11 -08:00
David Tolnay
20668560bb
Merge pull request #429 from dtolnay/cname
Upgrade to mdbook 0.4.4 for CNAME file support
2020-11-05 22:20:17 -08:00
David Tolnay
db0d0fd880
Upgrade to mdbook 0.4.4 for CNAME file support 2020-11-05 22:14:13 -08:00