Mads Marquart

Results 256 issues of Mads Marquart

Autoreleasing objects using `rc::autoreleasepool` is unsound because we cannot ensure that the lifetime from an outer pool is not used inside an inner pool. To help mitigate that, we provide...

A-objc2
I-unsound

Part of https://github.com/madsmtm/objc2/issues/32. Add a tutorial to `icrate`, to have a place where we can introduce new concepts like `Id` to the user. A "howto" on converting Objective-C code on...

documentation
enhancement
A-framework

Builds upon https://github.com/madsmtm/objc2/pull/516. We now use `&(impl MyProtocol + Message)` instead of `&ProtocolObject` as parameters to functions, this allows users to pass in their objects to these functions much more...

enhancement
A-framework

List of improvements that would bring us closer to feature-parity with Swift: - [ ] The ability to safely call superclass methods inside `declare_class!` (though it's probably not safe to...

A-objc2

Maybe we should reconsider whether it makes sense to keep those to separate? It would make it much easier for the user if they were merged. An argument for keeping...

enhancement
A-objc2

Add the equivalent of https://github.com/madsmtm/objc2/pull/276 and https://github.com/madsmtm/objc2/pull/277 to `declare_class!`. Effectively the implementation is: ```rust // Result -> Bool match res { Ok(()) => Bool::YES, Err(err) => { // Intentionally not...

enhancement
A-objc2

`NSCopying` [states](https://developer.apple.com/documentation/foundation/nscopying) that there are a few different ways to implement it. One of them is by invoking `[super copy]` and setting the instance variables afterwards - this should somehow...

documentation
A-objc2

This more closely matches the terminology used in the Rust reference. E.g. in [the reference docs on associated items](https://doc.rust-lang.org/reference/items/associated-items.html), these two words are used with different meanings: > Every associated...

documentation
A-objc2

Implementing `ClassType` in `declare_class!` is `unsafe` because we need the user to uphold a few safety guarantees, and that was just the most convenient place to put the `unsafe` keyword....

enhancement
A-objc2

Our main thread support in `MainThreadMarker` and `MainThreadBound` is still a little akward to use, and is missing some functionality that would be nice. TODO: - [x] Automatically add marker...

enhancement
A-framework