Skip to content

Consider making objc no_std compatible #51

@SSheldon

Description

@SSheldon

This crate is mainly just a wrapper around the objc runtime dylib, so it shouldn't need much else. If we can make it no_std then it might be usable in more places, perhaps even in the rust compiler itself.

The current std dependencies that aren't part of libcore are:

  • Nul-terminating &str via CString in the runtime module and the declare module
  • Reading the length of a C string via CStr in the runtime module and for Encoding
  • Using a String in Encoding to store dynamically-sized, runtime defined type encodings
  • Allocating a buffer via String when declaring methods to represent their type encodings in the declare module
  • Using a String in the representation of MessageError
  • Implementing the Error trait for MessageError
  • Using the std::os::raw types instead of the libc types in the runtime module and for implementing the Encode trait

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions