]> git.lizzy.rs Git - rust.git/blobdiff - src/rustllvm/README
clean up error codes explanation
[rust.git] / src / rustllvm / README
index 31495f22c0a5044d3db2c95b567cafd4542c53c8..e1c6dd07d2b3856a5a2050a8551474123f7a56c3 100644 (file)
@@ -1,3 +1,16 @@
 This directory currently contains some LLVM support code. This will generally
 be sent upstream to LLVM in time; for now it lives here.
 
+NOTE: the LLVM C++ ABI is subject to between-version breakage and must *never*
+be exposed to Rust. To allow for easy auditing of that, all Rust-exposed types
+must be typedef-ed as "LLVMXyz", or "LLVMRustXyz" if they were defined here.
+
+Functions that return a failure status and leave the error in
+the LLVM last error should return an LLVMRustResult rather than an
+int or anything to avoid confusion.
+
+When translating enums, add a single `Other` variant as the first
+one to allow for new variants to be added. It should abort when used
+as an input.
+
+All other types must not be typedef-ed as such.