Cargo Features

[dependencies]
poplar = { version = "0.1.0", default-features = false, features = ["can_alloc", "pci", "rustc-dep-of-std"] }
default = can_alloc, pci

These default features are set whenever poplar is added without default-features = false somewhere in the dependency tree.

can_alloc default = log, ptah

Affects poplar::channel, poplar::early_logger, pci::pci_get_info_vec

pci default = pci_types

Affects syscall::pci

rustc-dep-of-std = alloc, compiler_builtins, core

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

NOTE: dependencies that aren't designed for use from std can't be used here unless they're behind optional features we don't need from std

alloc rustc-dep-of-std?

Enables rustc-std-workspace-alloc

log can_alloc
pci_types pci

Enables pci_types ^0.2.0

ptah can_alloc
core rustc-dep-of-std?

Enables rustc-std-workspace-core

This is a weird hack needed to make this usable from Rust's std

compiler_builtins rustc-dep-of-std?