Cargo Features

[dependencies]
block2 = { version = "0.5.1", default-features = false, features = ["std", "alloc", "apple", "compiler-rt", "gnustep-1-7", "gnustep-1-8", "gnustep-1-9", "gnustep-2-0", "gnustep-2-1", "unstable-winobjc", "unstable-objfw", "unstable-private"] }
default = std

The std feature is set by default whenever block2 is added without default-features = false somewhere in the dependency tree.

std default = alloc

Currently not possible to turn off, put here for forwards compatibility.

Enables std of objc2

alloc std

Enables alloc of objc2

apple

Deprecated; this is the default on Apple platforms, and not applicable on other platforms.

compiler-rt

Link to libBlocksRuntime from compiler-rt.
TODO: fix this

Enables unstable-compiler-rt of objc2

Affects ffi::private._NSConcreteAutoBlock, ffi::private._NSConcreteFinalizingBlock, ffi::private._NSConcreteWeakBlockVariable, ffi::private.Block_size

gnustep-1-7 gnustep-1-8?

Link to GNUStep's libobjc2 (which contains the block implementation).

Enables gnustep-1-7 of objc2

Affects ffi::private._Block_has_signature, ffi::private._Block_signature

gnustep-1-8 gnustep-1-9? unstable-winobjc? = gnustep-1-7

Enables gnustep-1-8 of objc2

gnustep-1-9 gnustep-2-0? = gnustep-1-8

Enables gnustep-1-9 of objc2

gnustep-2-0 gnustep-2-1? = gnustep-1-9

Enables gnustep-2-0 of objc2

gnustep-2-1 = gnustep-2-0

Enables gnustep-2-1 of objc2

unstable-winobjc = gnustep-1-8

Link to Microsoft's libobjc2.

unstable-objfw

Link to ObjFW.

unstable-private

Expose private ffi functions and statics.