@@ -13,24 +13,27 @@ see that for related crates.
1313
1414## Runtime Support
1515
16- This library is basically just a raw interface to the aptly specified [ Blocks
17- ABI ] ( https://clang.llvm.org/docs/Block-ABI-Apple.html ) . However, different
18- runtime implementations exist and act in slightly different ways (and have
19- several different helper functions), the most important aspect being that the
20- libraries are named differently, so the linking must take that into account.
21-
22- The user can choose the desired runtime by using the relevant cargo feature
23- flags, see the following sections (might have to disable the default ` apple `
16+ This library is a raw interface to the aptly specified [ Blocks ABI ] [ abi ] .
17+ However, different runtime implementations exist and act in slightly different
18+ ways (and have several different helper functions), the most important aspect
19+ being that the libraries are named differently, so the linking must take that
20+ into account.
21+
22+ You can choose the desired runtime by using the relevant cargo feature flags,
23+ see the following sections (you might have to disable the default ` apple `
2424feature first). Note that if the ` objc-sys ` crate is present in the module
2525tree, this should have the same feature flag enabled as that.
2626
2727
28+ [ abi ] : https://clang.llvm.org/docs/Block-ABI-Apple.html
29+
30+
2831### Apple's [ ` libclosure ` ] ( https://github.com/apple-oss-distributions/libclosure )
2932
3033- Feature flag: ` apple ` .
3134
32- This is naturally the most sophisticated runtime, and it has quite a lot more
33- features than the specification mandates. This is used by default.
35+ This is the most sophisticated runtime, and it has quite a lot more features
36+ than the specification mandates. It is used by default.
3437
3538The minimum required operating system versions are as follows:
3639- macOS: ` 10.6 `
@@ -45,11 +48,11 @@ Though in practice Rust itself requires higher versions than this.
4548
4649- Feature flag: ` compiler-rt ` .
4750
48- This is effectively just a copy of Apple's older (around macOS 10.6) runtime,
49- and is now used in [ Swift's ` libdispatch ` ] and [ Swift's Foundation] as well.
51+ This is a copy of Apple's older (around macOS 10.6) runtime, and is now used
52+ in [ Swift's ` libdispatch ` ] and [ Swift's Foundation] as well.
5053
51- This can be easily used on many Linux systems with the ` libblocksruntime-dev `
52- package.
54+ The runtime and associated headers can be installed on many Linux systems with
55+ the ` libblocksruntime-dev ` package.
5356
5457Using this runtime probably won't work together with ` objc-sys ` crate.
5558
@@ -77,8 +80,8 @@ Sources:
7780
7881** Unstable: Hasn't been tested on Windows yet!**
7982
80- Essentially just [ a fork] ( https://github.com/microsoft/libobjc2 ) based on
81- GNUStep's ` libobjc2 ` version 1.8.
83+ [ A fork] ( https://github.com/microsoft/libobjc2 ) based on GNUStep's ` libobjc2 `
84+ version 1.8.
8285
8386
8487### [ ` ObjFW ` ] ( https://github.com/ObjFW/ObjFW )
0 commit comments