Update dependencies (#1933)

* Update ahash from 0.7 to 0.8

Opt to use ahash::HashMap over ahash::AHashMap

* Fix ahash compilation for web

* Update ron to 0.8

* Add note about why we cannot update tiny-skia

* cargo update

    Updating crates.io index
    Updating android_system_properties v0.1.2 -> v0.1.4
    Updating anyhow v1.0.58 -> v1.0.62
    Updating async-broadcast v0.4.0 -> v0.4.1
    Updating async-channel v1.6.1 -> v1.7.1
    Updating async-io v1.7.0 -> v1.8.0
    Updating async-task v4.2.0 -> v4.3.0
    Updating async-trait v0.1.56 -> v0.1.57
    Updating backtrace v0.3.65 -> v0.3.66
    Updating bit-set v0.5.2 -> v0.5.3
    Updating bumpalo v3.10.0 -> v3.11.0
    Updating bytemuck v1.10.0 -> v1.12.1
    Updating bytemuck_derive v1.1.0 -> v1.2.1
    Updating bytes v1.1.0 -> v1.2.1
    Updating cast v0.2.7 -> v0.3.0
    Updating chrono v0.4.19 -> v0.4.22
    Updating clap v3.2.8 -> v3.2.17
    Updating clipboard-win v4.4.1 -> v4.4.2
    Updating combine v4.6.4 -> v4.6.6
    Updating concurrent-queue v1.2.2 -> v1.2.4
    Updating criterion v0.3.5 -> v0.3.6
    Updating criterion-plot v0.4.4 -> v0.4.5
    Updating crossbeam-channel v0.5.5 -> v0.5.6
    Updating crossbeam-deque v0.8.1 -> v0.8.2
    Updating crossbeam-epoch v0.9.9 -> v0.9.10
    Updating crossbeam-utils v0.8.10 -> v0.8.11
    Updating document-features v0.2.1 -> v0.2.3
    Updating dyn-clone v1.0.6 -> v1.0.9
    Removing easy-parallel v3.2.0
    Updating either v1.7.0 -> v1.8.0
    Updating enum-map v2.1.0 -> v2.4.1
    Updating enum-map-derive v0.8.0 -> v0.10.0
    Updating event-listener v2.5.2 -> v2.5.3
    Updating fastrand v1.7.0 -> v1.8.0
    Updating futures-core v0.3.21 -> v0.3.23
    Updating futures-io v0.3.21 -> v0.3.23
    Updating futures-sink v0.3.21 -> v0.3.23
    Updating futures-task v0.3.21 -> v0.3.23
    Updating futures-util v0.3.21 -> v0.3.23
    Updating gimli v0.26.1 -> v0.26.2
    Updating gpu-descriptor v0.2.2 -> v0.2.3
    Removing hashbrown v0.11.2
    Removing hashbrown v0.12.1
      Adding hashbrown v0.12.3
      Adding iana-time-zone v0.1.46
    Updating image v0.24.2 -> v0.24.3
    Updating inplace_it v0.3.3 -> v0.3.4
    Updating itoa v1.0.2 -> v1.0.3
    Updating js-sys v0.3.58 -> v0.3.59
    Updating libc v0.2.126 -> v0.2.132
    Updating libm v0.2.2 -> v0.2.5
    Removing memmap2 v0.3.1
    Removing memmap2 v0.5.4
      Adding memmap2 v0.5.7
    Removing num-iter v0.1.43
    Updating object v0.28.4 -> v0.29.0
    Updating once_cell v1.13.0 -> v1.13.1
    Updating os_str_bytes v6.1.0 -> v6.3.0
    Updating owned_ttf_parser v0.15.0 -> v0.15.1
    Removing parking_lot v0.11.2
    Removing parking_lot_core v0.8.5
    Updating plotters v0.3.1 -> v0.3.3
    Updating plotters-backend v0.3.2 -> v0.3.4
    Updating plotters-svg v0.3.1 -> v0.3.3
    Updating proc-macro-crate v1.1.3 -> v1.2.1
    Updating proc-macro2 v1.0.40 -> v1.0.43
    Updating quote v1.0.20 -> v1.0.21
    Updating redox_syscall v0.2.13 -> v0.2.16
    Updating regex v1.5.6 -> v1.6.0
    Updating regex-syntax v0.6.26 -> v0.6.27
    Updating rfd v0.8.0 -> v0.8.4
    Removing rustc_version v0.4.0
    Updating ryu v1.0.10 -> v1.0.11
    Updating sctk-adwaita v0.4.1 -> v0.4.2
    Removing semver v1.0.12
    Updating serde v1.0.138 -> v1.0.143
    Updating serde_derive v1.0.138 -> v1.0.143
    Updating serde_json v1.0.82 -> v1.0.83
    Updating serde_repr v0.1.8 -> v0.1.9
    Updating slab v0.4.6 -> v0.4.7
    Removing smithay-client-toolkit v0.15.4
    Updating smithay-clipboard v0.6.5 -> v0.6.6
    Updating syn v1.0.98 -> v1.0.99
    Updating thiserror v1.0.31 -> v1.0.32
    Updating thiserror-impl v1.0.31 -> v1.0.32
    Updating time v0.3.11 -> v0.3.13
      Adding tiny-skia v0.7.0
      Adding tiny-skia-path v0.7.0
    Updating tracing v0.1.35 -> v0.1.36
    Updating tracing-core v0.1.28 -> v0.1.29
    Updating tracing-subscriber v0.3.14 -> v0.3.15
    Updating unicode-ident v1.0.1 -> v1.0.3
    Updating unicode_names2 v0.5.0 -> v0.5.1
    Updating ureq v2.4.0 -> v2.5.0
    Updating wasm-bindgen-futures v0.4.31 -> v0.4.32
    Updating web-sys v0.3.58 -> v0.3.59
    Updating webpki-roots v0.22.3 -> v0.22.4
    Updating weezl v0.1.6 -> v0.1.7
    Updating wgpu-core v0.13.1 -> v0.13.2
    Updating wgpu-hal v0.13.1 -> v0.13.2
    Updating wgpu-types v0.13.0 -> v0.13.2
    Updating windows v0.32.0 -> v0.37.0
    Updating windows_aarch64_msvc v0.32.0 -> v0.37.0
    Updating windows_i686_gnu v0.32.0 -> v0.37.0
    Updating windows_i686_msvc v0.32.0 -> v0.37.0
    Updating windows_x86_64_gnu v0.32.0 -> v0.37.0
    Updating windows_x86_64_msvc v0.32.0 -> v0.37.0
    Updating x11-dl v2.19.1 -> v2.20.0
    Updating zbus_names v2.1.0 -> v2.2.0
    Updating zvariant v3.4.1 -> v3.6.0
    Updating zvariant_derive v3.4.1 -> v3.6.0

* Add "Unicode-DFS-2016" to deny.toml whitelist
This commit is contained in:
Emil Ernerfeldt 2022-08-19 11:46:38 +02:00 committed by GitHub
parent eeeb4b7de2
commit 5514a8afda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 336 additions and 379 deletions

639
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -49,16 +49,17 @@ confidence-threshold = 0.92 # We want really high confidence when inferring lice
copyleft = "deny" copyleft = "deny"
allow = [ allow = [
# "Apache-2.0 WITH LLVM-exception", # https://spdx.org/licenses/LLVM-exception.html # "Apache-2.0 WITH LLVM-exception", # https://spdx.org/licenses/LLVM-exception.html
"Apache-2.0", # https://tldrlegal.com/license/apache-license-2.0-(apache-2.0) "Apache-2.0", # https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)
"BSD-2-Clause", # https://tldrlegal.com/license/bsd-2-clause-license-(freebsd) "BSD-2-Clause", # https://tldrlegal.com/license/bsd-2-clause-license-(freebsd)
"BSD-3-Clause", # https://tldrlegal.com/license/bsd-3-clause-license-(revised) "BSD-3-Clause", # https://tldrlegal.com/license/bsd-3-clause-license-(revised)
"BSL-1.0", # https://tldrlegal.com/license/boost-software-license-1.0-explained "BSL-1.0", # https://tldrlegal.com/license/boost-software-license-1.0-explained
"CC0-1.0", # https://creativecommons.org/publicdomain/zero/1.0/ "CC0-1.0", # https://creativecommons.org/publicdomain/zero/1.0/
"ISC", # https://tldrlegal.com/license/-isc-license "ISC", # https://tldrlegal.com/license/-isc-license
"MIT", # https://tldrlegal.com/license/mit-license "MIT", # https://tldrlegal.com/license/mit-license
"MPL-2.0", # https://www.mozilla.org/en-US/MPL/2.0/FAQ/ - see Q11 "MPL-2.0", # https://www.mozilla.org/en-US/MPL/2.0/FAQ/ - see Q11
"OpenSSL", # https://www.openssl.org/source/license.html "OpenSSL", # https://www.openssl.org/source/license.html
"Zlib", # https://tldrlegal.com/license/zlib-libpng-license-(zlib) "Unicode-DFS-2016", # https://spdx.org/licenses/Unicode-DFS-2016.html
"Zlib", # https://tldrlegal.com/license/zlib-libpng-license-(zlib)
] ]
[[licenses.clarify]] [[licenses.clarify]]

View file

@ -74,7 +74,7 @@ document-features = { version = "0.2", optional = true }
egui_glow = { version = "0.18.0", path = "../egui_glow", optional = true, default-features = false } egui_glow = { version = "0.18.0", path = "../egui_glow", optional = true, default-features = false }
egui-wgpu = { version = "0.18.0", path = "../egui-wgpu", optional = true, features = ["winit"] } egui-wgpu = { version = "0.18.0", path = "../egui-wgpu", optional = true, features = ["winit"] }
glow = { version = "0.11", optional = true } glow = { version = "0.11", optional = true }
ron = { version = "0.7", optional = true } ron = { version = "0.8", optional = true }
serde = { version = "1", optional = true, features = ["derive"] } serde = { version = "1", optional = true, features = ["derive"] }
wgpu = { version = "0.13", optional = true } wgpu = { version = "0.13", optional = true }
@ -94,6 +94,7 @@ directories-next = { version = "2", optional = true }
# web: # web:
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
bytemuck = "1.7" bytemuck = "1.7"
getrandom = { version = "0.2", features = ["js"] } # used by ahash
js-sys = "0.3" js-sys = "0.3"
percent-encoding = "2.1" percent-encoding = "2.1"
wasm-bindgen = "0.2" wasm-bindgen = "0.2"

View file

@ -57,14 +57,14 @@ serde = ["dep:serde", "epaint/serde"]
[dependencies] [dependencies]
epaint = { version = "0.18.1", path = "../epaint", default-features = false } epaint = { version = "0.18.1", path = "../epaint", default-features = false }
ahash = "0.7" ahash = "0.8"
nohash-hasher = "0.2" nohash-hasher = "0.2"
#! ### Optional dependencies #! ### Optional dependencies
## Enable this when generating docs. ## Enable this when generating docs.
document-features = { version = "0.2", optional = true } document-features = { version = "0.2", optional = true }
ron = { version = "0.7", optional = true } ron = { version = "0.8", optional = true }
serde = { version = "1", optional = true, features = ["derive", "rc"] } serde = { version = "1", optional = true, features = ["derive", "rc"] }
# egui doesn't log much, but when it does, it uses [`tracing`](https://docs.rs/tracing). # egui doesn't log much, but when it does, it uses [`tracing`](https://docs.rs/tracing).

View file

@ -46,7 +46,7 @@ impl Id {
/// Generate a new [`Id`] by hashing some source (e.g. a string or integer). /// Generate a new [`Id`] by hashing some source (e.g. a string or integer).
pub fn new(source: impl std::hash::Hash) -> Id { pub fn new(source: impl std::hash::Hash) -> Id {
use std::hash::Hasher; use std::hash::Hasher;
let mut hasher = epaint::ahash::AHasher::new_with_keys(123, 456); let mut hasher = epaint::ahash::AHasher::default();
source.hash(&mut hasher); source.hash(&mut hasher);
Id(hasher.finish()) Id(hasher.finish())
} }
@ -54,7 +54,7 @@ impl Id {
/// Generate a new [`Id`] by hashing the parent [`Id`] and the given argument. /// Generate a new [`Id`] by hashing the parent [`Id`] and the given argument.
pub fn with(self, child: impl std::hash::Hash) -> Id { pub fn with(self, child: impl std::hash::Hash) -> Id {
use std::hash::Hasher; use std::hash::Hasher;
let mut hasher = epaint::ahash::AHasher::new_with_keys(123, 456); let mut hasher = epaint::ahash::AHasher::default();
hasher.write_u64(self.0); hasher.write_u64(self.0);
child.hash(&mut hasher); child.hash(&mut hasher);
Id(hasher.finish()) Id(hasher.finish())

View file

@ -1,5 +1,3 @@
use epaint::ahash::AHashSet;
use crate::{area, window, Id, IdMap, InputState, LayerId, Pos2, Rect, Style}; use crate::{area, window, Id, IdMap, InputState, LayerId, Pos2, Rect, Style};
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -490,15 +488,15 @@ pub struct Areas {
areas: IdMap<area::State>, areas: IdMap<area::State>,
/// Back-to-front. Top is last. /// Back-to-front. Top is last.
order: Vec<LayerId>, order: Vec<LayerId>,
visible_last_frame: AHashSet<LayerId>, visible_last_frame: ahash::HashSet<LayerId>,
visible_current_frame: AHashSet<LayerId>, visible_current_frame: ahash::HashSet<LayerId>,
/// When an area want to be on top, it is put in here. /// When an area want to be on top, it is put in here.
/// At the end of the frame, this is used to reorder the layers. /// At the end of the frame, this is used to reorder the layers.
/// This means if several layers want to be on top, they will keep their relative order. /// This means if several layers want to be on top, they will keep their relative order.
/// So if you close three windows and then reopen them all in one frame, /// So if you close three windows and then reopen them all in one frame,
/// they will all be sent to the top, but keep their previous internal order. /// they will all be sent to the top, but keep their previous internal order.
wants_to_be_on_top: AHashSet<LayerId>, wants_to_be_on_top: ahash::HashSet<LayerId>,
} }
impl Areas { impl Areas {
@ -550,7 +548,7 @@ impl Areas {
self.visible_last_frame.contains(layer_id) || self.visible_current_frame.contains(layer_id) self.visible_last_frame.contains(layer_id) || self.visible_current_frame.contains(layer_id)
} }
pub fn visible_layer_ids(&self) -> AHashSet<LayerId> { pub fn visible_layer_ids(&self) -> ahash::HashSet<LayerId> {
self.visible_last_frame self.visible_last_frame
.iter() .iter()
.cloned() .cloned()

View file

@ -119,7 +119,7 @@ impl<Value: 'static + Send + Sync, Computer: 'static + Send + Sync> CacheTrait
/// ``` /// ```
#[derive(Default)] #[derive(Default)]
pub struct CacheStorage { pub struct CacheStorage {
caches: ahash::AHashMap<std::any::TypeId, Box<dyn CacheTrait>>, caches: ahash::HashMap<std::any::TypeId, Box<dyn CacheTrait>>,
} }
impl CacheStorage { impl CacheStorage {

View file

@ -1,7 +1,5 @@
use std::{collections::BTreeMap, string::String}; use std::{collections::BTreeMap, string::String};
use epaint::ahash::AHashSet;
use crate::*; use crate::*;
use super::items::PlotItem; use super::items::PlotItem;
@ -168,7 +166,7 @@ impl LegendWidget {
rect: Rect, rect: Rect,
config: Legend, config: Legend,
items: &[Box<dyn PlotItem>], items: &[Box<dyn PlotItem>],
hidden_items: &AHashSet<String>, hidden_items: &ahash::HashSet<String>,
) -> Option<Self> { ) -> Option<Self> {
// Collect the legend entries. If multiple items have the same name, they share a // Collect the legend entries. If multiple items have the same name, they share a
// checkbox. If their colors don't match, we pick a neutral color for the checkbox. // checkbox. If their colors don't match, we pick a neutral color for the checkbox.
@ -199,7 +197,7 @@ impl LegendWidget {
} }
// Get the names of the hidden items. // Get the names of the hidden items.
pub fn hidden_items(&self) -> AHashSet<String> { pub fn hidden_items(&self) -> ahash::HashSet<String> {
self.entries self.entries
.iter() .iter()
.filter(|(_, entry)| !entry.checked) .filter(|(_, entry)| !entry.checked)

View file

@ -3,7 +3,6 @@
use std::{cell::Cell, ops::RangeInclusive, rc::Rc}; use std::{cell::Cell, ops::RangeInclusive, rc::Rc};
use crate::*; use crate::*;
use epaint::ahash::AHashSet;
use epaint::color::Hsva; use epaint::color::Hsva;
use epaint::util::FloatOrd; use epaint::util::FloatOrd;
@ -96,7 +95,7 @@ impl From<bool> for AutoBounds {
struct PlotMemory { struct PlotMemory {
auto_bounds: AutoBounds, auto_bounds: AutoBounds,
hovered_entry: Option<String>, hovered_entry: Option<String>,
hidden_items: AHashSet<String>, hidden_items: ahash::HashSet<String>,
min_auto_bounds: PlotBounds, min_auto_bounds: PlotBounds,
last_screen_transform: ScreenTransform, last_screen_transform: ScreenTransform,
/// Allows to remember the first click position when performing a boxed zoom /// Allows to remember the first click position when performing a boxed zoom

View file

@ -60,7 +60,7 @@ image = { version = "0.24", optional = true, default-features = false }
# svg feature # svg feature
resvg = { version = "0.23", optional = true } resvg = { version = "0.23", optional = true }
tiny-skia = { version = "0.6", optional = true } tiny-skia = { version = "0.6", optional = true } # must be updated in lock-step with resvg
usvg = { version = "0.23", optional = true } usvg = { version = "0.23", optional = true }
# feature "serde": # feature "serde":

View file

@ -44,7 +44,7 @@ egui = { version = "0.18.0", path = "../egui", default-features = false, feature
] } ] }
egui-winit = { version = "0.18.0", path = "../egui-winit", default-features = false } egui-winit = { version = "0.18.0", path = "../egui-winit", default-features = false }
ahash = "0.7" ahash = "0.8"
bytemuck = "1.7" bytemuck = "1.7"
glium = "0.32" glium = "0.32"

View file

@ -4,7 +4,6 @@
use egui::epaint::Primitive; use egui::epaint::Primitive;
use { use {
ahash::AHashMap,
egui::{emath::Rect, epaint::Mesh}, egui::{emath::Rect, epaint::Mesh},
glium::{ glium::{
implement_vertex, implement_vertex,
@ -21,7 +20,7 @@ pub struct Painter {
max_texture_side: usize, max_texture_side: usize,
program: glium::Program, program: glium::Program,
textures: AHashMap<egui::TextureId, Rc<SrgbTexture2d>>, textures: ahash::HashMap<egui::TextureId, Rc<SrgbTexture2d>>,
/// [`egui::TextureId::User`] index /// [`egui::TextureId::User`] index
next_native_tex_id: u64, next_native_tex_id: u64,

View file

@ -56,7 +56,7 @@ serde = ["dep:serde", "ahash/serde", "emath/serde"]
emath = { version = "0.18.0", path = "../emath" } emath = { version = "0.18.0", path = "../emath" }
ab_glyph = "0.2.11" ab_glyph = "0.2.11"
ahash = { version = "0.7", default-features = false, features = ["std"] } ahash = { version = "0.8", default-features = false, features = ["std"] }
nohash-hasher = "0.2" nohash-hasher = "0.2"
#! ### Optional dependencies #! ### Optional dependencies

View file

@ -2,7 +2,6 @@ use crate::{
mutex::{Mutex, RwLock}, mutex::{Mutex, RwLock},
TextureAtlas, TextureAtlas,
}; };
use ahash::AHashMap;
use emath::{vec2, Vec2}; use emath::{vec2, Vec2};
use std::collections::BTreeSet; use std::collections::BTreeSet;
use std::sync::Arc; use std::sync::Arc;
@ -66,7 +65,7 @@ pub struct FontImpl {
// move each character by this much (hack) // move each character by this much (hack)
y_offset: f32, y_offset: f32,
pixels_per_point: f32, pixels_per_point: f32,
glyph_info_cache: RwLock<AHashMap<char, GlyphInfo>>, // TODO(emilk): standard Mutex glyph_info_cache: RwLock<ahash::HashMap<char, GlyphInfo>>, // TODO(emilk): standard Mutex
atlas: Arc<Mutex<TextureAtlas>>, atlas: Arc<Mutex<TextureAtlas>>,
} }
@ -221,7 +220,7 @@ pub struct Font {
replacement_glyph: (FontIndex, GlyphInfo), replacement_glyph: (FontIndex, GlyphInfo),
pixels_per_point: f32, pixels_per_point: f32,
row_height: f32, row_height: f32,
glyph_info_cache: AHashMap<char, (FontIndex, GlyphInfo)>, glyph_info_cache: ahash::HashMap<char, (FontIndex, GlyphInfo)>,
} }
impl Font { impl Font {

View file

@ -535,7 +535,7 @@ pub struct FontsImpl {
definitions: FontDefinitions, definitions: FontDefinitions,
atlas: Arc<Mutex<TextureAtlas>>, atlas: Arc<Mutex<TextureAtlas>>,
font_impl_cache: FontImplCache, font_impl_cache: FontImplCache,
sized_family: ahash::AHashMap<(u32, FontFamily), Font>, sized_family: ahash::HashMap<(u32, FontFamily), Font>,
} }
impl FontsImpl { impl FontsImpl {
@ -673,7 +673,7 @@ struct FontImplCache {
ab_glyph_fonts: BTreeMap<String, (FontTweak, ab_glyph::FontArc)>, ab_glyph_fonts: BTreeMap<String, (FontTweak, ab_glyph::FontArc)>,
/// Map font pixel sizes and names to the cached [`FontImpl`]. /// Map font pixel sizes and names to the cached [`FontImpl`].
cache: ahash::AHashMap<(u32, String), Arc<FontImpl>>, cache: ahash::HashMap<(u32, String), Arc<FontImpl>>,
} }
impl FontImplCache { impl FontImplCache {

View file

@ -1,5 +1,4 @@
use crate::{ImageData, ImageDelta, TextureId}; use crate::{ImageData, ImageDelta, TextureId};
use ahash::AHashMap;
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@ -11,7 +10,7 @@ pub struct TextureManager {
/// We allocate texture id:s linearly. /// We allocate texture id:s linearly.
next_id: u64, next_id: u64,
/// Information about currently allocated textures. /// Information about currently allocated textures.
metas: AHashMap<TextureId, TextureMeta>, metas: ahash::HashMap<TextureId, TextureMeta>,
delta: TexturesDelta, delta: TexturesDelta,
} }

View file

@ -6,7 +6,7 @@ pub use ordered_float::*;
#[inline] #[inline]
pub fn hash(value: impl std::hash::Hash) -> u64 { pub fn hash(value: impl std::hash::Hash) -> u64 {
use std::hash::Hasher as _; use std::hash::Hasher as _;
let mut hasher = ahash::AHasher::new_with_keys(123, 456); let mut hasher = ahash::AHasher::default();
value.hash(&mut hasher); value.hash(&mut hasher);
hasher.finish() hasher.finish()
} }