File tree 2 files changed +12
-2
lines changed
2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change 31
31
32
32
External blocks provide _ declarations_ of items that are not _ defined_ in the
33
33
current crate and are the basis of Rust's foreign function interface. Using
34
- items declared in external blocks is ` unsafe ` .
34
+ items declared in external blocks is only allowed in an ` unsafe ` context .
35
35
36
36
Two kind of item _ declarations_ are allowed in external blocks:
37
37
[ functions] and [ statics] .
@@ -90,6 +90,16 @@ There are also some platform-specific ABI strings:
90
90
* ` extern "vectorcall" ` -- The ` vectorcall ` ABI -- corresponds to MSVC's
91
91
` __vectorcall ` and clang's ` __attribute__((vectorcall)) `
92
92
93
+ <<<<<<< HEAD
94
+ =======
95
+ Finally, there are some unstable ` rustc ` -specific ABI strings:
96
+
97
+ * ` extern "rust-intrinsic" ` -- The ABI of rustc intrinsics, equivalent to ` "Rust" ` .
98
+ * ` extern "rust-call" ` -- The ABI of the Fn::call trait functions, equivalent to ` "Rust" ` .
99
+ * ` extern "platform-intrinsic" ` -- The ABI of Specific platform intrinsics, equivalent to ` "Rust" ` -- like, for
100
+ example, ` sqrt ` -- equivalent to ` "Rust" ` . You should never have to deal with it.
101
+
102
+ >>>>>>> 5764e1240c4d5ae73539baebce860b846c23db2c
93
103
## Variadic functions
94
104
95
105
Functions within external blocks may be variadic by specifying ` ... ` after one
Original file line number Diff line number Diff line change @@ -172,7 +172,7 @@ Functions with an ABI that differs from `"Rust"` do not support unwinding in the
172
172
exact same way that Rust does. Therefore, unwinding past the end of functions
173
173
with such ABIs causes the process to abort.
174
174
175
- ** Non-normative note ** : The LLVM backend of the current Rust implementation
175
+ > ** Note ** : The LLVM backend of the ` rustc ` implementation
176
176
aborts the process by executing an illegal instruction.
177
177
178
178
## Const functions
You can’t perform that action at this time.
0 commit comments