libffi 3.2.0

Rust bindings for libffi
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog] and this project adheres to
[Semantic Versioning].

[Keep a Changelog]: http://keepachangelog.com/en/1.0.0/
[Semantic Versioning]: http://semver.org/spec/v2.0.0.html

## [3.2.0] - 2023-03-28

- Handle return type promotion in the high layer: https://github.com/tov/libffi-rs/pull/69
- Fix return type in call example code: https://github.com/tov/libffi-rs/pull/68

## [3.1.0] - 2023-01-02

- Bump version requirement of libffi-sys to 2.1.0
- Copy size and alignment of structures on clone: https://github.com/tov/libffi-rs/pull/62

## [3.0.1] - 2022-09-02

- Removed dependency on abort_on_panic: https://github.com/tov/libffi-rs/pull/58

## [3.0.0] - 2022-03-07

- Improve cross-compilation support: https://github.com/tov/libffi-rs/pull/53
- Rust 1.48 or newer is now required

## [2.0.1] - 2022-02-13

### Changed

- Fix linker errors for aarch64: https://github.com/tov/libffi-rs/pull/51

## [2.0.0] - 2021-08-17

### Fixed

- Fixed soundness issues with the "high" interface when using callbacks. See
  0a094088fde8f6e4e382c987ee189c58929a33d1 for more information.

### Changed

- Remove outdated documentation links

## [1.0.1] - 2021-05-06

- Fixed used after free bug in ffi_type_array_create

### Added
- Added support for ARMv7

## [1.0.0] - 2020-10-25

### Changed
- Use libffi-sys-rs 1.0.0
- Update libc dependency to a more recent version

## [0.9.0] - 2019-12-07

### Added
- Methods `middle::Closure::instantiate_code_ptr` and
  `middle::ClosureOnce::instantiate_code_ptr`.

### Changed
- Updated `libffi-sys` dependency version to `"0.9.0"` from `"0.8.0"`.
- Updated to Rust edition to 2018.
- Updated oldest supported rustc version to 1.36.0.

## [0.8.0] - 2019-10-24

### Added
- Added `system` Cargo feature, which passes the same feature to `libffi-sys`,
  which causes it to use the system C libffi instead of building its own.

### Changed
- Updated `libc` dependency version to `"0.2.65"` from
  `"0.2.11"`.
- Updated `libffi-sys` dependency version to `"0.8.0"` from
  `"0.7.0"`.

## [0.7.0] - 2019-05-12

### Removed
- Broken `"unique"` feature.

### Changed
- Updated `abort_on_panic` dependency version to `"2.0.0"` from
  `"1.0.0"`.
- Updated `libffi-sys` dependency version to `"0.7.0"` from
  `"0.6.0"`.

### Added
- Setting `doc(html_root_url)` for inter-crate docs linking.
- Testing on Rust 1.31.0 now, as oldest supported version.

## [0.6.3] - 2018-03-05

### Fixed
- Heading in docs.

## [0.6.2] - 2017-11-13

### Changed
- Upgraded to `libffi-sys` 0.6.0, which uses an upgraded bindgen.

## [0.6.0] - 2017-05-14

### Fixed
- Marked `Unique::new` as `unsafe`.

### Added
- Mentions dependencies in build instructions.

### Changed
- Constructors and factories that need sequences now take `IntoIterator`
instead of `Iterator` or `FixedSizeIterator`.

## [0.5.3] - 2017-04-15

### Fixed
- `Closure[0-9]` and `ClosureMut[0-9]` now abort on panic rather than
attempting to unwind past an FFI boundary. (Thanks, ngkz!)

## [0.5.2] - 2017-04-14

### Changed
- Now depends on `libffi-sys` 0.5.0.