Cargo Features

prost-build = { version = "0.12.3", default-features = false, features = ["format", "cleanup-markdown"] }
default = format

The format feature is set by default whenever prost-build is added without default-features = false somewhere in the dependency tree.

format default = prettyplease, syn
cleanup-markdown = pulldown-cmark, pulldown-cmark-to-cmark

When MSRV moves to 1.60, these can change to dep:

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

prettyplease format
syn format
pulldown-cmark cleanup-markdown?

Enables pulldown-cmark ^0.9.1

These two must be kept in sync, used for cleanup-markdown feature.

pulldown-cmark-to-cmark cleanup-markdown?

Enables pulldown-cmark-to-cmark ^10.0.1