Skip to content
Snippets Groups Projects
  1. Feb 13, 2019
  2. Feb 07, 2019
    • gnzlbg's avatar
      Fix build on all platforms · a17a91cd
      gnzlbg authored
      This PR fixes the build on all platforms and all Rust version down to the
      minimum Rust version supported by libc: Rust 1.13.0.
      
      The `build.rs` is extended with logic to detect the newer Rust features used by
      `libc` since Rust 1.13.0:
      
      * Rust 1.19.0: `untagged_unions`. APIs using untagged unions are gated on
        `cfg(libc_unions)` and not available on older Rust versions.
      
      * Rust 1.25.0: `repr(align)`. Because `repr(align)` cannot be parsed by older
        Rust versions, all uses of `repr(align)` are split into `align.rs` and
        `no_align.rs` modules, which are gated on the `cfg(libc_align)` at the top
        level. These modules sometimes contain macros that are expanded at the top
        level to avoid privacy issues (`pub(crate)` is not available in older Rust
        versions). Closes #1242 .
      
      * Rust : `const` `mem::size_of`. These uses are worked around with hardcoded
        constants on older Rust versions.
      
      Also, `repr(packed)` structs cannot automatically `derive()` some traits like
      `Debug`. These have been moved into `s_no_extra_traits!` and the lint of missing
      `Debug` implementations on public items is silenced for these. We can manually
      implement the `extra_traits` for these in a follow up PR. This is tracked
      in #1243. Also, `extra_traits` does not enable `align` manually anymore.
      
      Since `f64::to_bits` is not available in older Rust versions, its usage
      has been replaced with a `transmute` to an `u64` which is what that method
      does under the hood.
      
      Closes #1232 .
      a17a91cd
  3. Feb 03, 2019
  4. Dec 23, 2018
  5. Dec 21, 2018
  6. Dec 20, 2018
  7. Dec 18, 2018
  8. Nov 23, 2018
  9. Nov 21, 2018
  10. Sep 12, 2017
  11. Jun 15, 2017
  12. Nov 10, 2016
  13. Sep 14, 2016
  14. Jul 22, 2016
  15. Mar 11, 2016
    • Kamal Marhubi's avatar
      Make cfg_if uses more explicit and consistent · 66c33753
      Kamal Marhubi authored
      This commit changes most uses of cfg_if as follows:
      - fallthrough `else` usage is avoided for architecture or OS specific
        items
      - a comment is added in the final `else` clause to signal intent someone
        modifying
      
      It is safer to omit items than include ones for the wrong platform or
      architecture.
      66c33753
  16. Mar 02, 2016
    • Alex Crichton's avatar
      Add a style checking script to CI · 8a8bc668
      Alex Crichton authored
      It's tough to have PRs bounce or to have a back and forth with contributors
      about minor style quibbles. Sometimes it ends up just being easier to fix style
      after the fact, but let's add some automation to help this!
      
      This commit adds a script to run on CI and locally to verify the style of this
      repository. There's a few stylistic guidelines to ensure that definitions are
      understandable across the jungle of modules. This consistency should help assist
      readability for any future readers!
      8a8bc668
  17. Sep 23, 2015
  18. Sep 21, 2015
  19. Sep 17, 2015
  20. Sep 16, 2015
  21. Sep 12, 2015
  22. Sep 11, 2015
Loading