/external/cronet/stable/third_party/rust/chromium_crates_io/vendor/cxx-1.0.130/book/src/ |
D | extern-rust.md | 1 {{#title extern "Rust" — Rust ♡ C++}} 2 # extern "Rust" 7 extern "Rust" { 13 The `extern "Rust"` section of a CXX bridge declares Rust types and signatures 16 The CXX code generator uses your extern "Rust" section(s) to produce a C++ 18 has the same path as the Rust source file containing the bridge, except with a 21 A bridge module may contain zero or more extern "Rust" blocks. 23 ## Opaque Rust types 25 Types defined in Rust that are made available to C++, but only behind an 31 extern "Rust" { [all …]
|
D | reference.md | 1 {{#title The bridge module — Rust ♡ C++}} 9 - ***[extern "Rust"](extern-rust.md)*** — exposing opaque Rust types, Rust 10 functions, Rust methods to C++; functions with lifetimes. 15 structures across a CXX bridge; Rust orphan-rule-compatible way to request 19 Rust as source of truth vs C++ as source of truth. 25 Rust. 28 the language boundary; accessing a Rust error message from C++; customizing 29 the set of caught exceptions and their conversion to a Rust error message.
|
D | index.md | 5 # CXX — safe interop between Rust and C++ 7 This library provides a safe mechanism for calling C++ code from Rust and Rust 8 code from C++. It carves out a regime of commonality where Rust and C++ are 19 of the types and function signatures to protect both Rust's and C++'s 34 In this example we are writing a Rust application that calls a C++ client of a 43 extern "Rust" { 60 Now we simply provide Rust definitions of all the things in the `extern "Rust"` 65 this blobstore example in full detail, including all of the Rust code and all of 74 The key takeaway, which is enabled by the CXX library, is that the Rust code in 75 main.rs is 100% ordinary safe Rust code working idiomatically with Rust types [all …]
|
D | attributes.md | 1 {{#title Attributes — Rust ♡ C++}} 7 to control the C++ namespace into which to emit extern Rust items and the 13 extern "Rust" { 33 extern "Rust" { 40 extern "Rust" { 51 Sometimes you want the Rust name of a function or type to differ from its C++ 53 function name using distinct Rust names. 67 The `#[rust_name = "..."]` attribute replaces the name that Rust should use for 71 Either of the two attributes may be used on extern "Rust" as well as extern
|
D | context.md | 1 {{#title Other Rust–C++ interop tools — Rust ♡ C++}} 2 # Context: other Rust–C++ interop tools 4 When it comes to interacting with an idiomatic Rust API or idiomatic C++ API 15 programmatically to `extern "C"` Rust signatures. Preferably, build a 16 safe/idiomatic Rust wrapper on top. 18 - Build a C-compatible Rust wrapper around the Rust code and use **[cbindgen]** 53 containing a pointer ([bindgen#778]) and is not directly expressible in Rust. 64 Imagine Rust and C and C++ as three vertices of a scalene triangle, with length 68 The most similar pair (the shortest edge) is Rust–C++. These languages 76 C++ down to C, and C back up to Rust. The Rust–C edge always involves a [all …]
|
/external/cronet/tot/third_party/rust/chromium_crates_io/vendor/cxx-1.0.130/book/src/ |
D | extern-rust.md | 1 {{#title extern "Rust" — Rust ♡ C++}} 2 # extern "Rust" 7 extern "Rust" { 13 The `extern "Rust"` section of a CXX bridge declares Rust types and signatures 16 The CXX code generator uses your extern "Rust" section(s) to produce a C++ 18 has the same path as the Rust source file containing the bridge, except with a 21 A bridge module may contain zero or more extern "Rust" blocks. 23 ## Opaque Rust types 25 Types defined in Rust that are made available to C++, but only behind an 31 extern "Rust" { [all …]
|
D | reference.md | 1 {{#title The bridge module — Rust ♡ C++}} 9 - ***[extern "Rust"](extern-rust.md)*** — exposing opaque Rust types, Rust 10 functions, Rust methods to C++; functions with lifetimes. 15 structures across a CXX bridge; Rust orphan-rule-compatible way to request 19 Rust as source of truth vs C++ as source of truth. 25 Rust. 28 the language boundary; accessing a Rust error message from C++; customizing 29 the set of caught exceptions and their conversion to a Rust error message.
|
D | index.md | 5 # CXX — safe interop between Rust and C++ 7 This library provides a safe mechanism for calling C++ code from Rust and Rust 8 code from C++. It carves out a regime of commonality where Rust and C++ are 19 of the types and function signatures to protect both Rust's and C++'s 34 In this example we are writing a Rust application that calls a C++ client of a 43 extern "Rust" { 60 Now we simply provide Rust definitions of all the things in the `extern "Rust"` 65 this blobstore example in full detail, including all of the Rust code and all of 74 The key takeaway, which is enabled by the CXX library, is that the Rust code in 75 main.rs is 100% ordinary safe Rust code working idiomatically with Rust types [all …]
|
D | attributes.md | 1 {{#title Attributes — Rust ♡ C++}} 7 to control the C++ namespace into which to emit extern Rust items and the 13 extern "Rust" { 33 extern "Rust" { 40 extern "Rust" { 51 Sometimes you want the Rust name of a function or type to differ from its C++ 53 function name using distinct Rust names. 67 The `#[rust_name = "..."]` attribute replaces the name that Rust should use for 71 Either of the two attributes may be used on extern "Rust" as well as extern
|
D | context.md | 1 {{#title Other Rust–C++ interop tools — Rust ♡ C++}} 2 # Context: other Rust–C++ interop tools 4 When it comes to interacting with an idiomatic Rust API or idiomatic C++ API 15 programmatically to `extern "C"` Rust signatures. Preferably, build a 16 safe/idiomatic Rust wrapper on top. 18 - Build a C-compatible Rust wrapper around the Rust code and use **[cbindgen]** 53 containing a pointer ([bindgen#778]) and is not directly expressible in Rust. 64 Imagine Rust and C and C++ as three vertices of a scalene triangle, with length 68 The most similar pair (the shortest edge) is Rust–C++. These languages 76 C++ down to C, and C back up to Rust. The Rust–C edge always involves a [all …]
|
/external/rust/cxx/book/src/ |
D | extern-rust.md | 1 {{#title extern "Rust" — Rust ♡ C++}} 2 # extern "Rust" 7 extern "Rust" { 13 The `extern "Rust"` section of a CXX bridge declares Rust types and signatures 16 The CXX code generator uses your extern "Rust" section(s) to produce a C++ 18 has the same path as the Rust source file containing the bridge, except with a 21 A bridge module may contain zero or more extern "Rust" blocks. 23 ## Opaque Rust types 25 Types defined in Rust that are made available to C++, but only behind an 31 extern "Rust" { [all …]
|
D | reference.md | 1 {{#title The bridge module — Rust ♡ C++}} 9 - ***[extern "Rust"](extern-rust.md)*** — exposing opaque Rust types, Rust 10 functions, Rust methods to C++; functions with lifetimes. 15 structures across a CXX bridge; Rust orphan-rule-compatible way to request 19 Rust as source of truth vs C++ as source of truth. 25 Rust. 28 the language boundary; accessing a Rust error message from C++; customizing 29 the set of caught exceptions and their conversion to a Rust error message.
|
D | index.md | 5 # CXX — safe interop between Rust and C++ 7 This library provides a safe mechanism for calling C++ code from Rust and Rust 8 code from C++. It carves out a regime of commonality where Rust and C++ are 19 of the types and function signatures to protect both Rust's and C++'s 34 In this example we are writing a Rust application that calls a C++ client of a 43 extern "Rust" { 60 Now we simply provide Rust definitions of all the things in the `extern "Rust"` 65 this blobstore example in full detail, including all of the Rust code and all of 74 The key takeaway, which is enabled by the CXX library, is that the Rust code in 75 main.rs is 100% ordinary safe Rust code working idiomatically with Rust types [all …]
|
D | attributes.md | 1 {{#title Attributes — Rust ♡ C++}} 7 to control the C++ namespace into which to emit extern Rust items and the 13 extern "Rust" { 33 extern "Rust" { 40 extern "Rust" { 51 Sometimes you want the Rust name of a function or type to differ from its C++ 53 function name using distinct Rust names. 67 The `#[rust_name = "..."]` attribute replaces the name that Rust should use for 71 Either of the two attributes may be used on extern "Rust" as well as extern
|
D | context.md | 1 {{#title Other Rust–C++ interop tools — Rust ♡ C++}} 2 # Context: other Rust–C++ interop tools 4 When it comes to interacting with an idiomatic Rust API or idiomatic C++ API 15 programmatically to `extern "C"` Rust signatures. Preferably, build a 16 safe/idiomatic Rust wrapper on top. 18 - Build a C-compatible Rust wrapper around the Rust code and use **[cbindgen]** 53 containing a pointer ([bindgen#778]) and is not directly expressible in Rust. 64 Imagine Rust and C and C++ as three vertices of a scalene triangle, with length 68 The most similar pair (the shortest edge) is Rust–C++. These languages 76 C++ down to C, and C back up to Rust. The Rust–C edge always involves a [all …]
|
/external/rust/cxx/book/src/build/ |
D | other.md | 1 {{#title Other build systems — Rust ♡ C++}} 8 - Link the resulting objects together with your other C++ and Rust objects. 18 CXX's Rust code generation automatically happens when the `#[cxx::bridge]` 19 procedural macro is expanded during the normal Rust compilation process, so no 45 ### Linking the C++ and Rust together 47 When linking a binary which contains mixed Rust and C++ code, you will have to 48 choose between using the Rust toolchain (`rustc`) or the C++ toolchain which you 51 The generated C++ code and the Rust code generated by the procedural macro both 57 Rust does not generate simple standalone `.o` files, so you can't just throw the 58 Rust-generated code into your existing C++ toolchain linker. Instead you need to [all …]
|
/external/cronet/tot/third_party/rust/chromium_crates_io/vendor/cxx-1.0.130/book/src/build/ |
D | other.md | 1 {{#title Other build systems — Rust ♡ C++}} 8 - Link the resulting objects together with your other C++ and Rust objects. 18 CXX's Rust code generation automatically happens when the `#[cxx::bridge]` 19 procedural macro is expanded during the normal Rust compilation process, so no 45 ### Linking the C++ and Rust together 47 When linking a binary which contains mixed Rust and C++ code, you will have to 48 choose between using the Rust toolchain (`rustc`) or the C++ toolchain which you 51 The generated C++ code and the Rust code generated by the procedural macro both 57 Rust does not generate simple standalone `.o` files, so you can't just throw the 58 Rust-generated code into your existing C++ toolchain linker. Instead you need to [all …]
|
/external/cronet/stable/third_party/rust/chromium_crates_io/vendor/cxx-1.0.130/book/src/build/ |
D | other.md | 1 {{#title Other build systems — Rust ♡ C++}} 8 - Link the resulting objects together with your other C++ and Rust objects. 18 CXX's Rust code generation automatically happens when the `#[cxx::bridge]` 19 procedural macro is expanded during the normal Rust compilation process, so no 45 ### Linking the C++ and Rust together 47 When linking a binary which contains mixed Rust and C++ code, you will have to 48 choose between using the Rust toolchain (`rustc`) or the C++ toolchain which you 51 The generated C++ code and the Rust code generated by the procedural macro both 57 Rust does not generate simple standalone `.o` files, so you can't just throw the 58 Rust-generated code into your existing C++ toolchain linker. Instead you need to [all …]
|
/external/cronet/tot/third_party/rust/chromium_crates_io/vendor/cxx-1.0.130/book/src/binding/ |
D | cxxvector.md | 1 {{#title std::vector<T> — Rust ♡ C++}} 4 The Rust binding of std::vector\<T\> is called **[`CxxVector<T>`]**. See the 5 link for documentation of the Rust API. 11 Rust code can never obtain a CxxVector by value. Instead in Rust code we will 15 CxxVector\<T\> does not support T being an opaque Rust type. You should use a 16 Vec\<T\> (C++ rust::Vec\<T\>) instead for collections of opaque Rust types on 21 This program involves Rust code converting a `CxxVector<CxxString>` (i.e. 22 `std::vector<std::string>`) into a Rust `Vec<String>`. 33 extern "Rust" {
|
/external/cronet/stable/third_party/rust/chromium_crates_io/vendor/cxx-1.0.130/book/src/binding/ |
D | cxxvector.md | 1 {{#title std::vector<T> — Rust ♡ C++}} 4 The Rust binding of std::vector\<T\> is called **[`CxxVector<T>`]**. See the 5 link for documentation of the Rust API. 11 Rust code can never obtain a CxxVector by value. Instead in Rust code we will 15 CxxVector\<T\> does not support T being an opaque Rust type. You should use a 16 Vec\<T\> (C++ rust::Vec\<T\>) instead for collections of opaque Rust types on 21 This program involves Rust code converting a `CxxVector<CxxString>` (i.e. 22 `std::vector<std::string>`) into a Rust `Vec<String>`. 33 extern "Rust" {
|
/external/rust/cxx/book/src/binding/ |
D | cxxvector.md | 1 {{#title std::vector<T> — Rust ♡ C++}} 4 The Rust binding of std::vector\<T\> is called **[`CxxVector<T>`]**. See the 5 link for documentation of the Rust API. 11 Rust code can never obtain a CxxVector by value. Instead in Rust code we will 15 CxxVector\<T\> does not support T being an opaque Rust type. You should use a 16 Vec\<T\> (C++ rust::Vec\<T\>) instead for collections of opaque Rust types on 21 This program involves Rust code converting a `CxxVector<CxxString>` (i.e. 22 `std::vector<std::string>`) into a Rust `Vec<String>`. 33 extern "Rust" {
|
D | result.md | 1 {{#title Result<T> — Rust ♡ C++}} 8 handle the translation of those to Rust Result\<T\> using your own shims for 16 If a panic occurs in *any* `extern "Rust"` function, regardless of whether it is 18 calls Rust's `std::process::abort`. 20 ## Returning Result from Rust to C++ 22 An `extern "Rust"` function returning a Result turns into a `throw` in C++ if 23 the Rust side produces an error. 27 FFI. The Rust *implementation* (outside of the bridge module) may pick any error 35 extern "Rust" { 56 gives the error message according to the Rust error's std::fmt::Display impl. [all …]
|
/external/mesa3d/docs/ |
D | rust.rst | 1 Rust title 4 Rust Update Policy 8 pace of Rust, we promise to only bump the minimum required Rust version 11 - Only up to the Rust requirement of other major Linux desktop 15 `Minimum Supported Rust Version: 18 - latest `Linux Kernel Rust requirement 21 - Only require a newer Rust version than stated by other rules if and only
|
/external/bazelbuild-rules_rust/examples/bzlmod/ffi/ |
D | README.md | 1 # Rust FFI 3 In case of an existing C++, Rust can call into the C++ function via FFI. 9 The setup is twofold, the Rust rules are declared in the MODULE file, 29 # Rust toolchain 97 ## Rust Callsite 99 On the Rust side, interestingly, you just declare the cc_import as a dependency of 100 your Rust target. 114 …Rust source file, your create a FFI binding and wrap the call to it into unsafe. You can do that b…
|
/external/angle/build/config/ |
D | rust.gni | 20 # Rust is available in the Chromium build but 3p repos that use //build may 21 # not use Rust and thus won't want to depend on having the Rust toolchain 57 # Chromium provides a Rust toolchain in //third_party/rust-toolchain. 60 # a Rust sysroot, which will have a 'bin' directory and others. Commonly 68 # If you're using a Rust toolchain as specified by rust_sysroot_absolute, 70 # Rust targets to be rebuilt, which allows you to update your toolchain and 74 # If you're using a Rust toolchain as specified by rust_sysroot_absolute, 78 # Whether artifacts produced by the Rust compiler can participate in ThinLTO. 85 # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS 86 # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome [all …]
|