While doing cargo add <package>
, it pulls up all the dependencies which package relies on irrespective of feature flags and targets.
Steps to reproduce:
- Create an empty project.
- Do
cargo add eframe
- You will see the output containing dependencies like
wasi
,ndk-*
,wgpu
, etc which are behind other feature flags but still synced up.
(main) ~\playground\sass took 0.1s ❯ cargo add eframe
Updating crates.io index
Adding eframe v0.29.1 to dependencies
Features:
+ accesskit
+ default_fonts
+ glow
+ wayland
+ web_screen_reader
+ x11
- __screenshot
- android-game-activity
- android-native-activity
- persistence
- puffin
- ron
- serde
- wgpu
Updating crates.io index
Locking 336 packages to latest compatible versions
Adding ab_glyph v0.2.29
Adding ab_glyph_rasterizer v0.1.8
Adding accesskit v0.16.3
Adding accesskit_atspi_common v0.9.3
Adding accesskit_consumer v0.24.3
Adding accesskit_macos v0.17.4
Adding accesskit_unix v0.12.3
Adding accesskit_windows v0.23.2
Adding accesskit_winit v0.22.4
Adding adler2 v2.0.0
Adding allocator-api2 v0.2.18
Adding android-activity v0.6.0
Adding android-properties v0.2.2
Adding android_system_properties v0.1.5
Adding arboard v3.4.1
Adding arrayref v0.3.9
Adding arrayvec v0.7.6
Adding as-raw-xcb-connection v1.0.1
Adding ash v0.38.0+1.3.281
Adding async-broadcast v0.7.1
Adding async-channel v2.3.1
Adding async-executor v1.13.1
Adding async-fs v2.1.2
Adding async-io v2.3.4
Adding async-lock v3.4.0
Adding async-process v2.3.0
Adding async-recursion v1.1.1
Adding async-signal v0.2.10
Adding async-task v4.7.1
Adding async-trait v0.1.83
Adding atomic-waker v1.1.2
Adding atspi v0.22.0 (latest: v0.24.0)
Adding atspi-common v0.6.0 (latest: v0.8.0)
Adding atspi-connection v0.6.0 (latest: v0.8.0)
Adding atspi-proxies v0.6.0 (latest: v0.8.0)
Adding bit-set v0.6.0 (latest: v0.8.0)
Adding bit-vec v0.7.0 (latest: v0.8.0)
Adding bitflags v1.3.2 (latest: v2.6.0)
Adding block v0.1.6
Adding block-buffer v0.10.4
Adding block2 v0.5.1
Adding blocking v1.6.1
Adding bumpalo v3.16.0
Adding bytemuck v1.19.0
Adding bytemuck_derive v1.8.0
Adding byteorder v1.5.0
Adding byteorder-lite v0.1.0
Adding bytes v1.8.0
Adding calloop v0.13.0 (latest: v0.14.1)
Adding calloop-wayland-source v0.3.0 (latest: v0.4.0)
Adding cc v1.1.31
Adding cesu8 v1.1.0
Adding cfg_aliases v0.1.1 (latest: v0.2.1)
Adding cfg_aliases v0.2.1
Adding cgl v0.3.2
Adding clipboard-win v5.4.0
Adding codespan-reporting v0.11.1
Adding com v0.6.0
Adding com_macros v0.6.0
Adding com_macros_support v0.6.0
Adding combine v4.6.7
Adding concurrent-queue v2.5.0
Adding core-foundation v0.9.4 (latest: v0.10.0)
Adding core-foundation v0.10.0
Adding core-foundation-sys v0.8.7
Adding core-graphics v0.23.2 (latest: v0.24.0)
Adding core-graphics-types v0.1.3 (latest: v0.2.0)
Adding cpufeatures v0.2.14
Adding crc32fast v1.4.2
Adding crossbeam-utils v0.8.20
Adding crypto-common v0.1.6
Adding cursor-icon v1.1.0
Adding digest v0.10.7
Adding dispatch v0.2.0
Adding dlib v0.5.2
Adding document-features v0.2.10
Adding downcast-rs v1.2.1
Adding dpi v0.1.1
Adding ecolor v0.29.1
Adding eframe v0.29.1
Adding egui v0.29.1
Adding egui-wgpu v0.29.1
Adding egui-winit v0.29.1
Adding egui_glow v0.29.1
Adding emath v0.29.1
Adding endi v1.1.0
Adding enumflags2 v0.7.10
Adding enumflags2_derive v0.7.10
Adding epaint v0.29.1
Adding epaint_default_fonts v0.29.1
Adding equivalent v1.0.1
Adding errno v0.3.9
Adding error-code v3.3.1
Adding event-listener v5.3.1
Adding event-listener-strategy v0.5.2
Adding fastrand v2.1.1
Adding fdeflate v0.3.6
Adding flate2 v1.0.34
Adding foreign-types v0.5.0
Adding foreign-types-macros v0.2.3
Adding foreign-types-shared v0.3.1
Adding form_urlencoded v1.2.1
Adding futures-core v0.3.31
Adding futures-io v0.3.31
Adding futures-lite v2.3.0
Adding futures-macro v0.3.31
Adding futures-sink v0.3.31
Adding futures-task v0.3.31
Adding futures-util v0.3.31
Adding generic-array v0.14.7 (latest: v1.1.0)
Adding gethostname v0.4.3 (latest: v0.5.0)
Adding gl_generator v0.14.0
Adding glow v0.13.1 (latest: v0.15.0)
Adding glow v0.14.2 (latest: v0.15.0)
Adding glutin v0.32.1
Adding glutin-winit v0.5.0
Adding glutin_egl_sys v0.7.0
Adding glutin_glx_sys v0.6.0
Adding glutin_wgl_sys v0.6.0
Adding gpu-alloc v0.6.0
Adding gpu-alloc-types v0.3.0
Adding gpu-allocator v0.26.0 (latest: v0.27.0)
Adding gpu-descriptor v0.3.0
Adding gpu-descriptor-types v0.2.0
Adding hashbrown v0.14.5 (latest: v0.15.0)
Adding hashbrown v0.15.0
Adding hassle-rs v0.11.0
Adding hermit-abi v0.4.0
Adding hex v0.4.3
Adding hexf-parse v0.2.1
Adding home v0.5.9
Adding idna v0.5.0 (latest: v1.0.2)
Adding image v0.25.4
Adding immutable-chunkmap v2.0.6
Adding indexmap v2.6.0
Adding jni v0.21.1
Adding jni-sys v0.3.0 (latest: v0.4.0)
Adding jobserver v0.1.32
Adding js-sys v0.3.72
Adding khronos-egl v6.0.0
Adding khronos_api v3.1.0
Adding libloading v0.8.5
Adding libredox v0.1.3
Adding linux-raw-sys v0.4.14 (latest: v0.6.5)
Adding litrs v0.4.1
Adding lock_api v0.4.12
Adding log v0.4.22
Adding malloc_buf v0.0.6 (latest: v1.0.0)
Adding memchr v2.7.4
Adding memmap2 v0.9.5
Adding memoffset v0.9.1
Adding metal v0.29.0 (latest: v0.30.0)
Adding miniz_oxide v0.8.0
Adding naga v22.1.0
Adding ndk v0.9.0
Adding ndk-context v0.1.1
Adding ndk-sys v0.5.0+25.2.9519653 (latest: v0.6.0+11769913)
Adding ndk-sys v0.6.0+11769913
Adding nix v0.29.0
Adding nohash-hasher v0.2.0
Adding num_enum v0.7.3
Adding num_enum_derive v0.7.3
Adding objc v0.2.7
Adding objc-sys v0.3.5
Adding objc2 v0.5.2
Adding objc2-app-kit v0.2.2
Adding objc2-cloud-kit v0.2.2
Adding objc2-contacts v0.2.2
Adding objc2-core-data v0.2.2
Adding objc2-core-image v0.2.2
Adding objc2-core-location v0.2.2
Adding objc2-encode v4.0.3
Adding objc2-foundation v0.2.2
Adding objc2-link-presentation v0.2.2
Adding objc2-metal v0.2.2
Adding objc2-quartz-core v0.2.2
Adding objc2-symbols v0.2.2
Adding objc2-ui-kit v0.2.2
Adding objc2-uniform-type-identifiers v0.2.2
Adding objc2-user-notifications v0.2.2
Adding orbclient v0.3.48
Adding ordered-stream v0.2.0
Adding owned_ttf_parser v0.25.0
Adding parking v2.2.1
Adding parking_lot v0.12.3
Adding parking_lot_core v0.9.10
Adding paste v1.0.15
Adding percent-encoding v2.3.1
Adding pin-project v1.1.7
Adding pin-project-internal v1.1.7
Adding pin-project-lite v0.2.15
Adding pin-utils v0.1.0
Adding piper v0.2.4
Adding pkg-config v0.3.31
Adding png v0.17.14
Adding polling v3.7.3
Adding ppv-lite86 v0.2.20
Adding presser v0.3.1
Adding proc-macro-crate v3.2.0
Adding profiling v1.0.16
Adding quick-xml v0.30.0 (latest: v0.37.0)
Adding quick-xml v0.36.2 (latest: v0.37.0)
Adding rand v0.8.5
Adding rand_chacha v0.3.1
Adding rand_core v0.6.4
Adding raw-window-handle v0.6.2
Adding redox_syscall v0.4.1 (latest: v0.5.7)
Adding redox_syscall v0.5.7
Adding renderdoc-sys v1.1.0
Adding rustc-hash v1.1.0 (latest: v2.0.0)
Adding rustix v0.38.38
Adding same-file v1.0.6
Adding scoped-tls v1.0.1
Adding scopeguard v1.2.0
Adding sctk-adwaita v0.10.1
Adding serde v1.0.214
Adding serde_derive v1.0.214
Adding serde_repr v0.1.19
Adding sha1 v0.10.6
Adding shlex v1.3.0
Adding signal-hook-registry v1.4.2
Adding simd-adler32 v0.3.7
Adding slab v0.4.9
Adding slotmap v1.0.7
Adding smithay-client-toolkit v0.19.2
Adding smithay-clipboard v0.7.2
Adding smol_str v0.2.2 (latest: v0.3.2)
Adding spirv v0.3.0+sdk-1.3.268.0
Adding strict-num v0.1.1 (latest: v0.2.0)
Adding syn v1.0.109 (latest: v2.0.85)
Adding tempfile v3.13.0
Adding termcolor v1.4.1
Adding thiserror v1.0.65
Adding thiserror-impl v1.0.65
Adding tiny-skia v0.11.4
Adding tiny-skia-path v0.11.4
Adding tinyvec v1.8.0
Adding tinyvec_macros v0.1.1
Adding toml_datetime v0.6.8
Adding toml_edit v0.22.22
Adding tracing v0.1.40
Adding tracing-attributes v0.1.27
Adding tracing-core v0.1.32
Adding ttf-parser v0.25.0
Adding type-map v0.5.0
Adding typenum v1.17.0
Adding uds_windows v1.1.0
Adding unicode-bidi v0.3.17
Adding unicode-normalization v0.1.24
Adding unicode-segmentation v1.12.0
Adding unicode-width v0.1.14 (latest: v0.2.0)
Adding unicode-xid v0.2.6
Adding url v2.5.2
Adding walkdir v2.5.0
Adding wasm-bindgen v0.2.95
Adding wasm-bindgen-backend v0.2.95
Adding wasm-bindgen-futures v0.4.45
Adding wasm-bindgen-macro v0.2.95
Adding wasm-bindgen-macro-support v0.2.95
Adding wasm-bindgen-shared v0.2.95
Adding wayland-backend v0.3.7
Adding wayland-client v0.31.7
Adding wayland-csd-frame v0.3.0
Adding wayland-cursor v0.31.7
Adding wayland-protocols v0.32.5
Adding wayland-protocols-plasma v0.3.5
Adding wayland-protocols-wlr v0.3.5
Adding wayland-scanner v0.31.5
Adding wayland-sys v0.31.5
Adding web-sys v0.3.72
Adding web-time v1.1.0
Adding webbrowser v1.0.2
Adding wgpu v22.1.0
Adding wgpu-core v22.1.0
Adding wgpu-hal v22.0.0
Adding wgpu-types v22.0.0
Adding widestring v1.1.0
Adding winapi v0.3.9
Adding winapi-i686-pc-windows-gnu v0.4.0
Adding winapi-util v0.1.9
Adding winapi-x86_64-pc-windows-gnu v0.4.0
Adding windows v0.52.0 (latest: v0.58.0)
Adding windows v0.58.0
Adding windows-core v0.52.0 (latest: v0.58.0)
Adding windows-core v0.58.0
Adding windows-implement v0.58.0
Adding windows-interface v0.58.0
Adding windows-result v0.2.0
Adding windows-strings v0.1.0 (latest: v0.2.0)
Adding windows-sys v0.45.0 (latest: v0.59.0)
Adding windows-sys v0.52.0 (latest: v0.59.0)
Adding windows-sys v0.59.0
Adding windows-targets v0.42.2 (latest: v0.52.6)
Adding windows-targets v0.48.5 (latest: v0.52.6)
Adding windows-targets v0.52.6
Adding windows_aarch64_gnullvm v0.42.2 (latest: v0.52.6)
Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.6)
Adding windows_aarch64_gnullvm v0.52.6
Adding windows_aarch64_msvc v0.42.2 (latest: v0.52.6)
Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.6)
Adding windows_aarch64_msvc v0.52.6
Adding windows_i686_gnu v0.42.2 (latest: v0.52.6)
Adding windows_i686_gnu v0.48.5 (latest: v0.52.6)
Adding windows_i686_gnu v0.52.6
Adding windows_i686_gnullvm v0.52.6
Adding windows_i686_msvc v0.42.2 (latest: v0.52.6)
Adding windows_i686_msvc v0.48.5 (latest: v0.52.6)
Adding windows_i686_msvc v0.52.6
Adding windows_x86_64_gnu v0.42.2 (latest: v0.52.6)
Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.6)
Adding windows_x86_64_gnu v0.52.6
Adding windows_x86_64_gnullvm v0.42.2 (latest: v0.52.6)
Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.6)
Adding windows_x86_64_gnullvm v0.52.6
Adding windows_x86_64_msvc v0.42.2 (latest: v0.52.6)
Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.6)
Adding windows_x86_64_msvc v0.52.6
Adding winit v0.30.5
Adding winnow v0.6.20
Adding x11-dl v2.21.0
Adding x11rb v0.13.1
Adding x11rb-protocol v0.13.1
Adding xcursor v0.3.8
Adding xdg-home v1.3.0
Adding xkbcommon-dl v0.4.2
Adding xkeysym v0.2.1
Adding xml-rs v0.8.22
Adding zbus v4.4.0 (latest: v5.0.1)
Adding zbus-lockstep v0.4.4
Adding zbus-lockstep-macros v0.4.4
Adding zbus_macros v4.4.0 (latest: v5.0.1)
Adding zbus_names v3.0.0 (latest: v4.0.0)
Adding zbus_xml v4.0.0 (latest: v5.0.0)
Adding zvariant v4.2.0 (latest: v5.0.1)
Adding zvariant_derive v4.2.0 (latest: v5.0.1)
Adding zvariant_utils v2.1.0 (latest: v3.0.1)
Same thing happens with other packages like rhai
.
Is this default behaviour, if yes is it correct?