NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1477 most downloaded on crates.io
Objective-C Runtime bindings and wrapper for Rust.
Last release 7 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.7 years
Some releases are documented
notes for 10 of 24 stable releases
1 version withdrawn
withdrawn after publishing
12 years old
25 releases · first in 2014
Bump objc crate to 0.2.7
Bump objc crate to 0.2.7
msg_send! will now correctly fail to compile if no return type
can be inferred, instead of relying on an edge case of the compiler
that will soon change and silently cause undefined behavior.Added a changelog entry for version 0.2.6
Added a changelog entry for version 0.2.6
sel!, msg_send!, and class!.One column per quarter.
Bump objc crate to 0.2.5
Bump objc crate to 0.2.5
Bump objc crate to 0.2.4
Bump objc crate to 0.2.4
Added an rc module with reference counting utilities:
StrongPtr, WeakPtr, and autoreleasepool.
Added some reference counting ABI foreign functions to the runtime module.
Added a changelog entry for version 0.2.3
Added a changelog entry for version 0.2.3
Added a class! macro for getting statically-known classes. The result is
non-optional (avoiding a need to unwrap) and cached so each usage will only
look up the class once.
Added caching to the sel! macro so that each usage will only register the
selector once.
objc::runtime structs so there can't be unsound
references to uninhabited types.Added a changelog entry for version 0.2.2.
Added a changelog entry for version 0.2.2.
Bump objc crate to 0.2.1.
Bump objc crate to 0.2.1.
Added support for working with protocols with the Protocol struct.
The protocols a class conforms to can be examined with the new
Class::adopted_protocols and Class::conforms_to methods.
Protocols can be declared using the new ProtocolDecl struct.
Remove the unused encode! macro.
Remove the unused encode! macro.
Added verification for the types used when sending messages.
This can be enabled for all messages with the "verify_message" feature,
or you can test before sending specific messages with the
Message::verify_message method. Verification errors are reported using the
new MessageError struct.
Added support for the GNUstep runtime! Operating systems besides OSX and iOS will fall back to the GNUstep runtime.
Root classes can be declared by using the ClassDecl::root constructor.
C types are now used from std::os::raw rather than libc. This means
Encode may not be implemented for libc types; switch them to the
std::os::raw equivalents instead. This avoids an issue that would arise
from simultaneously using different versions of the libc crate.
Dynamic messaging was moved into the Message trait; instead of
().send(obj, sel!(description)), use
obj.send_message(sel!(description), ()).
Rearranged the parameters to ClassDecl::new for consistency; instead of
ClassDecl::new(superclass, "MyObject"), use
ClassDecl::new("MyObject", superclass).
Overhauled the MethodImplementation trait. Encodings are now accessed
through the MethodImplementation::Args associated type. The imp_for
method was replaced with imp and no longer takes a selector or returns an
UnequalArgsError, although ClassDecl::add_method still validates the
number of arguments.
Updated the definition of Imp to not use the old dispatch prototypes.
To invoke an Imp, it must first be transmuted to the correct type.
Removed objc_msgSend functions from the runtime module; the availability
of these functions varies and they shouldn't be called without trasmuting,
so they are now hidden as an implementation detail of messaging.
Corrected alignment of ivars in ClassDecl; declared classes may now have a
smaller size.
With the "exception" or "verify_message" feature enabled, panics from
msg_send! will now be triggered from the line and file where the macro is
used, rather than from within the implementation of messaging.
Bump objc crate to 0.1.8.
Bump objc crate to 0.1.8.
Bump objc crate to 0.1.7.
Bump objc crate to 0.1.7.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →