Update to Rust 1.65 (#2314)

* Update to Rust 1.65

Because then you can use dynamic linking on Linux

* Fix a bunch of clippy lints

* Update changelogs

* More clippy fixes
This commit is contained in:
Emil Ernerfeldt 2022-11-16 19:08:03 +01:00 committed by GitHub
parent f7019926dc
commit eca5e6a4d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 195 additions and 187 deletions

View file

@ -19,7 +19,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: default
toolchain: 1.64.0
toolchain: 1.65.0
override: true
- name: Install packages (Linux)
if: runner.os == 'Linux'
@ -84,7 +84,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.64.0
toolchain: 1.65.0
target: wasm32-unknown-unknown
override: true
@ -136,7 +136,7 @@ jobs:
- uses: actions/checkout@v2
- uses: EmbarkStudios/cargo-deny-action@v1
with:
rust-version: "1.62.0"
rust-version: "1.65.0"
android:
name: android
@ -146,7 +146,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.64.0
toolchain: 1.65.0
target: aarch64-linux-android
override: true
- name: Set up cargo cache

View file

@ -5,6 +5,7 @@ NOTE: [`epaint`](crates/epaint/CHANGELOG.md), [`eframe`](crates/eframe/CHANGELOG
## Unreleased
* MSRV (Minimum Supported Rust Version) is now `1.65.0` ([#2314](https://github.com/emilk/egui/pull/2314)).
* ⚠️ BREAKING: egui now expects integrations to do all color blending in gamma space ([#2071](https://github.com/emilk/egui/pull/2071)).
* ⚠️ BREAKING: if you have overlapping interactive widgets, only the top widget (last added) will be interactive ([#2244](https://github.com/emilk/egui/pull/2244)).

View file

@ -1,19 +1,19 @@
# https://github.com/ericseppanen/cargo-cranky
# cargo install cargo-cranky && cargo cranky
deny = [
"unsafe_code",
]
deny = ["unsafe_code"]
warn = [
"clippy::all",
"clippy::await_holding_lock",
"clippy::bool_to_int_with_if",
"clippy::char_lit_as_u8",
"clippy::checked_conversions",
"clippy::dbg_macro",
"clippy::debug_assert_with_mut_call",
"clippy::disallowed_methods",
"clippy::disallowed_script_idents",
"clippy::doc_link_with_quotes",
"clippy::doc_markdown",
"clippy::empty_enum",
"clippy::enum_glob_use",
@ -37,6 +37,8 @@ warn = [
"clippy::inefficient_to_string",
"clippy::invalid_upcast_comparisons",
"clippy::iter_not_returning_iterator",
"clippy::iter_on_empty_collections",
"clippy::iter_on_single_items",
"clippy::large_digit_groups",
"clippy::large_stack_arrays",
"clippy::large_types_passed_by_value",
@ -45,7 +47,9 @@ warn = [
"clippy::lossy_float_literal",
"clippy::macro_use_imports",
"clippy::manual_assert",
"clippy::manual_instant_elapsed",
"clippy::manual_ok_or",
"clippy::manual_string_new",
"clippy::map_err_ignore",
"clippy::map_flatten",
"clippy::map_unwrap_or",
@ -55,6 +59,7 @@ warn = [
"clippy::match_wildcard_for_single_variants",
"clippy::mem_forget",
"clippy::mismatched_target_os",
"clippy::mismatching_type_param_order",
"clippy::missing_enforced_import_renames",
"clippy::missing_errors_doc",
"clippy::missing_safety_doc",
@ -86,6 +91,8 @@ warn = [
"clippy::unimplemented",
"clippy::unnecessary_wraps",
"clippy::unnested_or_patterns",
"clippy::unused_peekable",
"clippy::unused_rounding",
"clippy::unused_self",
"clippy::useless_transmute",
"clippy::verbose_file_reads",
@ -101,15 +108,15 @@ warn = [
"unused_extern_crates",
"unused_import_braces",
"unused_lifetimes",
# "clippy::cloned_instead_of_copied",
# "clippy::mod_module_files",
# "trivial_casts",
# "unused_qualifications",
]
allow = [
# TODO(emilk): enable more lints
"clippy::cloned_instead_of_copied",
"clippy::derive_partial_eq_without_eq",
"clippy::type_complexity",
"clippy::unnecessary_lazy_evaluations",
"clippy::let-and-return"
"clippy::undocumented_unsafe_blocks",
"trivial_casts",
"unsafe_op_in_unsafe_fn", # `unsafe_op_in_unsafe_fn` may become the default in future Rust versions: https://github.com/rust-lang/rust/issues/71668
"unused_qualifications",
]

View file

@ -5,6 +5,7 @@ NOTE: [`egui-winit`](../egui-winit/CHANGELOG.md), [`egui_glium`](../egui_glium/C
## Unreleased
* MSRV (Minimum Supported Rust Version) is now `1.65.0` ([#2314](https://github.com/emilk/egui/pull/2314)).
* Added `NativeOptions::fullsize_content` option on Mac to build titlebar-less windows with floating window controls ([#2049](https://github.com/emilk/egui/pull/2049)).
* Added `NativeOptions::event_loop_builder` hook for apps to change platform specific event loop options ([#1952](https://github.com/emilk/egui/pull/1952)).
* Enabled deferred render state initialization to support Android ([#1952](https://github.com/emilk/egui/pull/1952)).

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "egui framework - write GUI apps that compiles to web and/or natively"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/eframe"
license = "MIT OR Apache-2.0"
readme = "README.md"

View file

@ -165,7 +165,7 @@ pub fn handle_app_output(
}
if let Some(fullscreen) = fullscreen {
window.set_fullscreen(fullscreen.then(|| winit::window::Fullscreen::Borderless(None)));
window.set_fullscreen(fullscreen.then_some(winit::window::Fullscreen::Borderless(None)));
}
if let Some(window_title) = window_title {
@ -328,7 +328,7 @@ impl EpiIntegration {
handle_app_output(window, self.egui_ctx.pixels_per_point(), app_output);
}
let frame_time = (std::time::Instant::now() - frame_start).as_secs_f64() as f32;
let frame_time = frame_start.elapsed().as_secs_f64() as f32;
self.frame.info.cpu_usage = Some(frame_time);
full_output

View file

@ -308,7 +308,7 @@ pub fn install_canvas_events(runner_container: &mut AppRunnerContainer) -> Resul
modifiers,
});
push_touches(&mut *runner_lock, egui::TouchPhase::Start, &event);
push_touches(&mut runner_lock, egui::TouchPhase::Start, &event);
runner_lock.needs_repaint.repaint_asap();
event.stop_propagation();
event.prevent_default();
@ -330,7 +330,7 @@ pub fn install_canvas_events(runner_container: &mut AppRunnerContainer) -> Resul
.events
.push(egui::Event::PointerMoved(pos));
push_touches(&mut *runner_lock, egui::TouchPhase::Move, &event);
push_touches(&mut runner_lock, egui::TouchPhase::Move, &event);
runner_lock.needs_repaint.repaint_asap();
event.stop_propagation();
event.prevent_default();
@ -357,7 +357,7 @@ pub fn install_canvas_events(runner_container: &mut AppRunnerContainer) -> Resul
// Then remove hover effect:
runner_lock.input.raw.events.push(egui::Event::PointerGone);
push_touches(&mut *runner_lock, egui::TouchPhase::End, &event);
push_touches(&mut runner_lock, egui::TouchPhase::End, &event);
runner_lock.needs_repaint.repaint_asap();
event.stop_propagation();
event.prevent_default();

View file

@ -8,7 +8,7 @@ authors = [
"Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
]
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/egui-wgpu"
license = "MIT OR Apache-2.0"
readme = "README.md"

View file

@ -46,7 +46,7 @@ impl Painter {
Self {
configuration,
msaa_samples,
depth_format: (depth_bits > 0).then(|| wgpu::TextureFormat::Depth32Float),
depth_format: (depth_bits > 0).then_some(wgpu::TextureFormat::Depth32Float),
depth_texture_view: None,
instance,

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui with winit"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/egui-winit"
license = "MIT OR Apache-2.0"
readme = "README.md"

View file

@ -68,7 +68,7 @@ impl WindowSettings {
})
.with_fullscreen(
self.fullscreen
.then(|| winit::window::Fullscreen::Borderless(None)),
.then_some(winit::window::Fullscreen::Borderless(None)),
)
} else {
window

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "An easy-to-use immediate mode GUI that runs on both web and native"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui"
license = "MIT OR Apache-2.0"
readme = "../../README.md"

View file

@ -293,7 +293,7 @@ impl Focus {
self.id_next_frame = self.last_interested; // frame-delay so gained_focus works
self.pressed_shift_tab = false;
}
} else if self.pressed_tab && self.id == None && !self.give_to_next {
} else if self.pressed_tab && self.id.is_none() && !self.give_to_next {
// nothing has focus and the user pressed tab - give focus to the first widgets that wants it:
self.id = Some(id);
self.pressed_tab = false;

View file

@ -443,7 +443,7 @@ impl SubMenuButton {
let (rect, response) = ui.allocate_at_least(desired_size, sense);
response.widget_info(|| {
crate::WidgetInfo::labeled(crate::WidgetType::Button, &text_galley.text())
crate::WidgetInfo::labeled(crate::WidgetType::Button, text_galley.text())
});
if ui.is_rect_visible(rect) {
@ -491,7 +491,7 @@ impl SubMenu {
add_contents: impl FnOnce(&mut Ui) -> R,
) -> InnerResponse<Option<R>> {
let sub_id = ui.id().with(self.button.index);
let button = self.button.show(ui, &*self.parent_state.read(), sub_id);
let button = self.button.show(ui, &self.parent_state.read(), sub_id);
self.parent_state
.write()
.submenu_button_interaction(ui, sub_id, &button);

View file

@ -464,7 +464,7 @@ impl<'a> Widget for DragValue<'a> {
// Since we round the value being dragged, we need to store the full precision value in memory:
let stored_value = (drag_state.last_dragged_id == Some(response.id))
.then(|| drag_state.last_dragged_value)
.then_some(drag_state.last_dragged_value)
.flatten();
let stored_value = stored_value.unwrap_or(value);
let stored_value = stored_value + delta_value;

View file

@ -110,7 +110,7 @@ impl Label {
if let Some(first_section) = text_job.job.sections.first_mut() {
first_section.leading_space = first_row_indentation;
}
let text_galley = text_job.into_galley(&*ui.fonts());
let text_galley = text_job.into_galley(&ui.fonts());
let pos = pos2(ui.max_rect().left(), ui.cursor().top());
assert!(
@ -143,7 +143,7 @@ impl Label {
text_job.job.justify = ui.layout().horizontal_justify();
};
let text_galley = text_job.into_galley(&*ui.fonts());
let text_galley = text_job.into_galley(&ui.fonts());
let (rect, response) = ui.allocate_exact_size(text_galley.size(), self.sense);
let pos = match text_galley.galley.job.halign {
Align::LEFT => rect.left_top(),

View file

@ -406,7 +406,7 @@ impl Line {
/// a horizontal line at the given y-coordinate.
fn y_intersection(p1: &Pos2, p2: &Pos2, y: f32) -> Option<f32> {
((p1.y > y && p2.y < y) || (p1.y < y && p2.y > y))
.then(|| ((y * (p1.x - p2.x)) - (p1.x * p2.y - p1.y * p2.x)) / (p1.y - p2.y))
.then_some(((y * (p1.x - p2.x)) - (p1.x * p2.y - p1.y * p2.x)) / (p1.y - p2.y))
}
impl PlotItem for Line {
@ -844,7 +844,7 @@ impl PlotItem for Points {
let default_stroke = Stroke::new(stroke_size, *color);
let mut stem_stroke = default_stroke;
let stroke = (!filled)
.then(|| default_stroke)
.then_some(default_stroke)
.unwrap_or_else(Stroke::none);
let fill = filled.then(|| *color).unwrap_or_default();
@ -1644,7 +1644,7 @@ fn add_rulers_and_text(
let corner_value = elem.corner_value();
shapes.push(Shape::text(
&*plot.ui.fonts(),
&plot.ui.fonts(),
plot.transform.position_from_point(&corner_value) + vec2(3.0, -2.0),
Align2::LEFT_BOTTOM,
text,
@ -1701,7 +1701,7 @@ pub(super) fn rulers_at_value(
let font_id = TextStyle::Body.resolve(plot.ui.style());
shapes.push(Shape::text(
&*plot.ui.fonts(),
&plot.ui.fonts(),
pointer + vec2(3.0, -2.0),
Align2::LEFT_BOTTOM,
text,

View file

@ -299,7 +299,7 @@ impl PlotPoints {
) -> Option<RangeInclusive<f64>> {
let start = range1.start().max(*range2.start());
let end = range1.end().min(*range2.end());
(start < end).then(|| start..=end)
(start < end).then_some(start..=end)
}
pub(super) fn bounds(&self) -> PlotBounds {

View file

@ -189,7 +189,7 @@ impl LegendWidget {
LegendEntry::new(color, checked)
});
});
(!entries.is_empty()).then(|| Self {
(!entries.is_empty()).then_some(Self {
rect,
entries,
config,

View file

@ -490,7 +490,7 @@ impl<'t> TextEdit<'t> {
if response.hovered() && ui.input().pointer.any_pressed() {
ui.memory().request_focus(id);
if ui.input().modifiers.shift {
if let Some(mut cursor_range) = state.cursor_range(&*galley) {
if let Some(mut cursor_range) = state.cursor_range(&galley) {
cursor_range.primary = cursor_at_pointer;
state.set_cursor_range(Some(cursor_range));
} else {
@ -502,7 +502,7 @@ impl<'t> TextEdit<'t> {
} else if ui.input().pointer.any_down() && response.is_pointer_button_down_on()
{
// drag to select text:
if let Some(mut cursor_range) = state.cursor_range(&*galley) {
if let Some(mut cursor_range) = state.cursor_range(&galley) {
cursor_range.primary = cursor_at_pointer;
state.set_cursor_range(Some(cursor_range));
}
@ -516,7 +516,7 @@ impl<'t> TextEdit<'t> {
}
let mut cursor_range = None;
let prev_cursor_range = state.cursor_range(&*galley);
let prev_cursor_range = state.cursor_range(&galley);
if ui.memory().has_focus(id) && interactive {
ui.memory().lock_focus(id, lock_focus);
@ -595,7 +595,7 @@ impl<'t> TextEdit<'t> {
}
if ui.memory().has_focus(id) {
if let Some(cursor_range) = state.cursor_range(&*galley) {
if let Some(cursor_range) = state.cursor_range(&galley) {
// We paint the cursor on top of the text, in case
// the text galley has backgrounds (as e.g. `code` snippets in markup do).
paint_cursor_selection(ui, &painter, text_draw_pos, &galley, &cursor_range);
@ -703,7 +703,7 @@ fn events(
password: bool,
default_cursor_range: CursorRange,
) -> (bool, CursorRange) {
let mut cursor_range = state.cursor_range(&*galley).unwrap_or(default_cursor_range);
let mut cursor_range = state.cursor_range(galley).unwrap_or(default_cursor_range);
// We feed state to the undoer both before and after handling input
// so that the undoer creates automatic saves even when there are no events for a while.

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false
default-run = "egui_demo_app"
@ -19,18 +19,9 @@ crate-type = ["cdylib", "rlib"]
default = ["glow", "persistence"]
http = ["ehttp", "image", "poll-promise", "egui_extras/image"]
persistence = [
"eframe/persistence",
"egui/persistence",
"serde",
]
persistence = ["eframe/persistence", "egui/persistence", "serde"]
screen_reader = ["eframe/screen_reader"] # experimental
serde = [
"dep:serde",
"egui_demo_lib/serde",
"egui_extras/serde",
"egui/serde",
]
serde = ["dep:serde", "egui_demo_lib/serde", "egui_extras/serde", "egui/serde"]
syntax_highlighting = ["egui_demo_lib/syntax_highlighting"]
glow = ["eframe/glow"]
@ -40,8 +31,12 @@ wgpu = ["eframe/wgpu", "bytemuck"]
[dependencies]
chrono = { version = "0.4", features = ["js-sys", "wasmbind"] }
eframe = { version = "0.19.0", path = "../eframe", default-features = false }
egui = { version = "0.19.0", path = "../egui", features = ["extra_debug_asserts"] }
egui_demo_lib = { version = "0.19.0", path = "../egui_demo_lib", features = ["chrono"] }
egui = { version = "0.19.0", path = "../egui", features = [
"extra_debug_asserts",
] }
egui_demo_lib = { version = "0.19.0", path = "../egui_demo_lib", features = [
"chrono",
] }
tracing = "0.1"
# Optional dependencies:

View file

@ -96,7 +96,7 @@ impl FrameHistory {
let cpu_usage = to_screen.inverse().transform_pos(pointer_pos).y;
let text = format!("{:.1} ms", 1e3 * cpu_usage);
shapes.push(Shape::text(
&*ui.fonts(),
&ui.fonts(),
pos2(rect.left(), y),
egui::Align2::LEFT_BOTTOM,
text,

View file

@ -59,15 +59,13 @@ pub fn init_wasm_hooks() {
#[wasm_bindgen]
pub async fn start_separate(canvas_id: &str) -> Result<WebHandle, wasm_bindgen::JsValue> {
let web_options = eframe::WebOptions::default();
let handle = eframe::start_web(
eframe::start_web(
canvas_id,
web_options,
Box::new(|cc| Box::new(WrapApp::new(cc))),
)
.await
.map(|handle| WebHandle { handle });
handle
.map(|handle| WebHandle { handle })
}
/// This is the entry-point for all the web-assembly.

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Example library for egui"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/egui_demo_lib"
license = "MIT OR Apache-2.0"
readme = "README.md"
@ -41,7 +41,9 @@ chrono = { version = "0.4", optional = true, features = ["js-sys", "wasmbind"] }
## Enable this when generating docs.
document-features = { version = "0.2", optional = true }
serde = { version = "1", optional = true, features = ["derive"] }
syntect = { version = "5", optional = true, default-features = false, features = ["default-fancy"] }
syntect = { version = "5", optional = true, default-features = false, features = [
"default-fancy",
] }
[dev-dependencies]

View file

@ -8,7 +8,7 @@ authors = [
]
description = "Extra functionality and widgets for the egui GUI library"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui"
license = "MIT OR Apache-2.0"
readme = "README.md"
@ -67,4 +67,6 @@ usvg = { version = "0.23", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
# feature "tracing"
tracing = { version = "0.1", optional = true, default-features = false, features = ["std"] }
tracing = { version = "0.1", optional = true, default-features = false, features = [
"std",
] }

View file

@ -63,7 +63,7 @@ impl<'a> DatePickerButton<'a> {
impl<'a> Widget for DatePickerButton<'a> {
fn ui(self, ui: &mut Ui) -> egui::Response {
let id = ui.make_persistent_id(&self.id_source);
let id = ui.make_persistent_id(self.id_source);
let mut button_state = ui
.memory()
.data
@ -104,7 +104,7 @@ impl<'a> Widget for DatePickerButton<'a> {
let InnerResponse {
inner: saved,
response: area_response,
} = Area::new(ui.make_persistent_id(&self.id_source))
} = Area::new(ui.make_persistent_id(self.id_source))
.order(Order::Foreground)
.fixed_pos(pos)
.show(ui.ctx(), |ui| {

View file

@ -67,7 +67,7 @@ impl<'a> DatePickerPopup<'a> {
)
.sizes(
Size::exact((spacing + height) * (weeks.len() + 1) as f32),
if self.calendar { 1 } else { 0 },
self.calendar as usize,
)
.size(Size::exact(height))
.vertical(|mut strip| {

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glium library"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/egui_glium"
license = "MIT OR Apache-2.0"
readme = "README.md"

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glow library"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/egui_glow"
license = "MIT OR Apache-2.0"
readme = "README.md"

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D math library for GUI work"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/emath"
license = "MIT OR Apache-2.0"
readme = "README.md"

View file

@ -4,7 +4,7 @@ version = "0.19.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D graphics library for GUI work"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/epaint"
license = "MIT OR Apache-2.0"
readme = "README.md"

View file

@ -183,7 +183,7 @@ mod rw_lock_impl {
type Target = T;
fn deref(&self) -> &Self::Target {
&**self.guard.as_ref().unwrap()
self.guard.as_ref().unwrap()
}
}
@ -222,13 +222,13 @@ mod rw_lock_impl {
type Target = T;
fn deref(&self) -> &Self::Target {
&**self.guard.as_ref().unwrap()
self.guard.as_ref().unwrap()
}
}
impl<'a, T> DerefMut for RwLockWriteGuard<'a, T> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut **self.guard.as_mut().unwrap()
self.guard.as_mut().unwrap()
}
}

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false
[lib]
@ -17,6 +17,6 @@ glow = "0.11"
three-d = { version = "0.13", default-features = false }
[target.'cfg(target_arch = "wasm32")'.dependencies] # Web dependencies
console_error_panic_hook = "0.1" # For logging
wasm-bindgen = "0.2" # Core bindings
wasm-bindgen-futures = "0.4" # Core bindings
console_error_panic_hook = "0.1" # For logging

View file

@ -1,3 +1,5 @@
#![allow(special_module_name)]
mod main;
// Entry point for wasm

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["tami5 <kkharji@proton.me>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["René Rössler <rene@freshx.de>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.62"
rust-version = "1.65"
publish = false

View file

@ -5,6 +5,6 @@
# to the user in the error, instead of "error: invalid channel name '[toolchain]'".
[toolchain]
channel = "1.64.0"
channel = "1.65.0"
components = [ "rustfmt", "clippy" ]
targets = [ "wasm32-unknown-unknown" ]