Skip to content

Commit 6717cbc

Browse files
authored
Merge pull request #88 from xobs/fix-warnings
Fix build warnings on Rust 1.37+
2 parents f99afd4 + 26ea925 commit 6717cbc

File tree

8 files changed

+47
-47
lines changed

8 files changed

+47
-47
lines changed

iui/src/controls/area.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ pub trait AreaHandler {
2323
#[repr(C)]
2424
struct RustAreaHandler {
2525
ui_area_handler: uiAreaHandler,
26-
trait_object: Box<AreaHandler>,
26+
trait_object: Box<dyn AreaHandler>,
2727
}
2828

2929
impl RustAreaHandler {
30-
fn new(_ctx: &UI, trait_object: Box<AreaHandler>) -> Box<RustAreaHandler> {
30+
fn new(_ctx: &UI, trait_object: Box<dyn AreaHandler>) -> Box<RustAreaHandler> {
3131
return Box::new(RustAreaHandler {
3232
ui_area_handler: uiAreaHandler {
3333
Draw: Some(draw),
@@ -148,7 +148,7 @@ define_control! {
148148

149149
impl Area {
150150
/// Creates a new non-scrolling area.
151-
pub fn new(ctx: &UI, area_handler: Box<AreaHandler>) -> Area {
151+
pub fn new(ctx: &UI, area_handler: Box<dyn AreaHandler>) -> Area {
152152
unsafe {
153153
let mut rust_area_handler = RustAreaHandler::new(ctx, area_handler);
154154
let area = Area::from_raw(ui_sys::uiNewArea(
@@ -162,7 +162,7 @@ impl Area {
162162
/// Creates a new scrolling area.
163163
pub fn new_scrolling(
164164
ctx: &UI,
165-
area_handler: Box<AreaHandler>,
165+
area_handler: Box<dyn AreaHandler>,
166166
width: i64,
167167
height: i64,
168168
) -> Area {

iui/src/controls/basic.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,19 @@ impl Button {
5151
/// Run the given callback when the button is clicked.
5252
pub fn on_clicked<'ctx, F: FnMut(&mut Button) + 'ctx>(&mut self, _ctx: &'ctx UI, callback: F) {
5353
unsafe {
54-
let mut data: Box<Box<FnMut(&mut Button)>> = Box::new(Box::new(callback));
54+
let mut data: Box<Box<dyn FnMut(&mut Button)>> = Box::new(Box::new(callback));
5555
ui_sys::uiButtonOnClicked(
5656
self.uiButton,
5757
Some(c_callback),
58-
&mut *data as *mut Box<FnMut(&mut Button)> as *mut c_void,
58+
&mut *data as *mut Box<dyn FnMut(&mut Button)> as *mut c_void,
5959
);
6060
mem::forget(data);
6161
}
6262

6363
extern "C" fn c_callback(button: *mut uiButton, data: *mut c_void) {
6464
unsafe {
6565
let mut button = Button { uiButton: button };
66-
mem::transmute::<*mut c_void, &mut Box<FnMut(&mut Button)>>(data)(&mut button)
66+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(&mut Button)>>(data)(&mut button)
6767
}
6868
}
6969
}

iui/src/controls/entry.rs

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,19 @@ impl NumericEntry for Spinbox {
6565

6666
fn on_changed<'ctx, F: FnMut(i32) + 'ctx>(&mut self, _ctx: &'ctx UI, callback: F) {
6767
unsafe {
68-
let mut data: Box<Box<FnMut(i32)>> = Box::new(Box::new(callback));
68+
let mut data: Box<Box<dyn FnMut(i32)>> = Box::new(Box::new(callback));
6969
ui_sys::uiSpinboxOnChanged(
7070
self.uiSpinbox,
7171
Some(c_callback),
72-
&mut *data as *mut Box<FnMut(i32)> as *mut c_void,
72+
&mut *data as *mut Box<dyn FnMut(i32)> as *mut c_void,
7373
);
7474
mem::forget(data);
7575
}
7676

7777
extern "C" fn c_callback(spinbox: *mut uiSpinbox, data: *mut c_void) {
7878
unsafe {
7979
let val = ui_sys::uiSpinboxValue(spinbox);
80-
mem::transmute::<*mut c_void, &mut Box<FnMut(i32)>>(data)(val);
80+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(i32)>>(data)(val);
8181
}
8282
}
8383
}
@@ -94,19 +94,19 @@ impl NumericEntry for Slider {
9494

9595
fn on_changed<'ctx, F: FnMut(i32) + 'ctx>(&mut self, _ctx: &'ctx UI, callback: F) {
9696
unsafe {
97-
let mut data: Box<Box<FnMut(i32)>> = Box::new(Box::new(callback));
97+
let mut data: Box<Box<dyn FnMut(i32)>> = Box::new(Box::new(callback));
9898
ui_sys::uiSliderOnChanged(
9999
self.uiSlider,
100100
Some(c_callback),
101-
&mut *data as *mut Box<FnMut(i32)> as *mut c_void,
101+
&mut *data as *mut Box<dyn FnMut(i32)> as *mut c_void,
102102
);
103103
mem::forget(data);
104104
}
105105

106106
extern "C" fn c_callback(slider: *mut uiSlider, data: *mut c_void) {
107107
unsafe {
108108
let val = ui_sys::uiSliderValue(slider);
109-
mem::transmute::<*mut c_void, &mut Box<FnMut(i32)>>(data)(val);
109+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(i32)>>(data)(val);
110110
}
111111
}
112112
}
@@ -163,11 +163,11 @@ impl TextEntry for Entry {
163163

164164
fn on_changed<'ctx, F: FnMut(String) + 'ctx>(&mut self, _ctx: &'ctx UI, callback: F) {
165165
unsafe {
166-
let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
166+
let mut data: Box<Box<dyn FnMut(String)>> = Box::new(Box::new(callback));
167167
ui_sys::uiEntryOnChanged(
168168
self.uiEntry,
169169
Some(c_callback),
170-
&mut *data as *mut Box<FnMut(String)> as *mut c_void,
170+
&mut *data as *mut Box<dyn FnMut(String)> as *mut c_void,
171171
);
172172
mem::forget(data);
173173
}
@@ -177,7 +177,7 @@ impl TextEntry for Entry {
177177
let string = CStr::from_ptr(ui_sys::uiEntryText(entry))
178178
.to_string_lossy()
179179
.into_owned();
180-
mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
180+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(String)>>(data)(string);
181181
mem::forget(entry);
182182
}
183183
}
@@ -199,11 +199,11 @@ impl TextEntry for PasswordEntry {
199199

200200
fn on_changed<'ctx, F: FnMut(String) + 'ctx>(&mut self, _ctx: &'ctx UI, callback: F) {
201201
unsafe {
202-
let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
202+
let mut data: Box<Box<dyn FnMut(String)>> = Box::new(Box::new(callback));
203203
ui_sys::uiEntryOnChanged(
204204
self.uiEntry,
205205
Some(c_callback),
206-
&mut *data as *mut Box<FnMut(String)> as *mut c_void,
206+
&mut *data as *mut Box<dyn FnMut(String)> as *mut c_void,
207207
);
208208
mem::forget(data);
209209
}
@@ -213,7 +213,7 @@ impl TextEntry for PasswordEntry {
213213
let string = CStr::from_ptr(ui_sys::uiEntryText(entry))
214214
.to_string_lossy()
215215
.into_owned();
216-
mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
216+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(String)>>(data)(string);
217217
mem::forget(entry);
218218
}
219219
}
@@ -235,11 +235,11 @@ impl TextEntry for MultilineEntry {
235235

236236
fn on_changed<'ctx, F: FnMut(String) + 'ctx>(&mut self, _ctx: &'ctx UI, callback: F) {
237237
unsafe {
238-
let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
238+
let mut data: Box<Box<dyn FnMut(String)>> = Box::new(Box::new(callback));
239239
ui_sys::uiMultilineEntryOnChanged(
240240
self.uiMultilineEntry,
241241
Some(c_callback),
242-
&mut *data as *mut Box<FnMut(String)> as *mut c_void,
242+
&mut *data as *mut Box<dyn FnMut(String)> as *mut c_void,
243243
);
244244
mem::forget(data);
245245
}
@@ -249,7 +249,7 @@ impl TextEntry for MultilineEntry {
249249
let string = CStr::from_ptr(ui_sys::uiMultilineEntryText(entry))
250250
.to_string_lossy()
251251
.into_owned();
252-
mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
252+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(String)>>(data)(string);
253253
mem::forget(entry);
254254
}
255255
}
@@ -287,19 +287,19 @@ impl Combobox {
287287

288288
pub fn on_selected<F: FnMut(i32)>(&mut self, _ctx: &UI, callback: F) {
289289
unsafe {
290-
let mut data: Box<Box<FnMut(i32)>> = Box::new(Box::new(callback));
290+
let mut data: Box<Box<dyn FnMut(i32)>> = Box::new(Box::new(callback));
291291
ui_sys::uiComboboxOnSelected(
292292
self.uiCombobox,
293293
Some(c_callback),
294-
&mut *data as *mut Box<FnMut(i32)> as *mut c_void,
294+
&mut *data as *mut Box<dyn FnMut(i32)> as *mut c_void,
295295
);
296296
mem::forget(data);
297297
}
298298

299299
extern "C" fn c_callback(combobox: *mut uiCombobox, data: *mut c_void) {
300300
unsafe {
301301
let val = ui_sys::uiComboboxSelected(combobox);
302-
mem::transmute::<*mut c_void, &mut Box<FnMut(i32)>>(data)(val);
302+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(i32)>>(data)(val);
303303
}
304304
}
305305
}
@@ -328,19 +328,19 @@ impl Checkbox {
328328

329329
pub fn on_toggled<F: FnMut(bool)>(&mut self, _ctx: &UI, callback: F) {
330330
unsafe {
331-
let mut data: Box<Box<FnMut(bool)>> = Box::new(Box::new(callback));
331+
let mut data: Box<Box<dyn FnMut(bool)>> = Box::new(Box::new(callback));
332332
ui_sys::uiCheckboxOnToggled(
333333
self.uiCheckbox,
334334
Some(c_callback),
335-
&mut *data as *mut Box<FnMut(bool)> as *mut c_void,
335+
&mut *data as *mut Box<dyn FnMut(bool)> as *mut c_void,
336336
);
337337
mem::forget(data);
338338
}
339339

340340
extern "C" fn c_callback(checkbox: *mut uiCheckbox, data: *mut c_void) {
341341
unsafe {
342342
let val = ui_sys::uiCheckboxChecked(checkbox) != 0;
343-
mem::transmute::<*mut c_void, &mut Box<FnMut(bool)>>(data)(val);
343+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(bool)>>(data)(val);
344344
}
345345
}
346346
}
@@ -372,19 +372,19 @@ impl RadioButtons {
372372

373373
pub fn on_selected<'ctx, F: FnMut(i32) + 'ctx>(&self, _ctx: &'ctx UI, callback: F) {
374374
unsafe {
375-
let mut data: Box<Box<FnMut(i32)>> = Box::new(Box::new(callback));
375+
let mut data: Box<Box<dyn FnMut(i32)>> = Box::new(Box::new(callback));
376376
ui_sys::uiRadioButtonsOnSelected(
377377
self.uiRadioButtons,
378378
Some(c_callback),
379-
&mut *data as *mut Box<FnMut(i32)> as *mut c_void,
379+
&mut *data as *mut Box<dyn FnMut(i32)> as *mut c_void,
380380
);
381381
mem::forget(data);
382382
}
383383

384384
extern "C" fn c_callback(radio_buttons: *mut uiRadioButtons, data: *mut c_void) {
385385
unsafe {
386386
let val = ui_sys::uiRadioButtonsSelected(radio_buttons);
387-
mem::transmute::<*mut c_void, &mut Box<FnMut(i32)>>(data)(val);
387+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(i32)>>(data)(val);
388388
}
389389
}
390390
}

iui/src/controls/window.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,22 @@ impl Window {
8989
/// the application when the window is closed.
9090
pub fn on_closing<'ctx, F: FnMut(&mut Window) + 'ctx>(&mut self, _ctx: &'ctx UI, mut callback: F) {
9191
unsafe {
92-
let mut data: Box<Box<FnMut(&mut Window) -> bool>> = Box::new(Box::new(|window| {
92+
let mut data: Box<Box<dyn FnMut(&mut Window) -> bool>> = Box::new(Box::new(|window| {
9393
callback(window);
9494
false
9595
}));
9696
ui_sys::uiWindowOnClosing(
9797
self.uiWindow,
9898
Some(c_callback),
99-
&mut *data as *mut Box<FnMut(&mut Window) -> bool> as *mut c_void,
99+
&mut *data as *mut Box<dyn FnMut(&mut Window) -> bool> as *mut c_void,
100100
);
101101
mem::forget(data);
102102
}
103103

104104
extern "C" fn c_callback(window: *mut uiWindow, data: *mut c_void) -> i32 {
105105
unsafe {
106106
let mut window = Window { uiWindow: window };
107-
mem::transmute::<*mut c_void, Box<Box<FnMut(&mut Window) -> bool>>>(data)(
107+
mem::transmute::<*mut c_void, Box<Box<dyn FnMut(&mut Window) -> bool>>>(data)(
108108
&mut window,
109109
) as i32
110110
}

iui/src/draw/transform.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ impl Transform {
1919
/// Create a new Transform that does nothing.
2020
pub fn identity() -> Transform {
2121
unsafe {
22-
let mut matrix = mem::uninitialized();
23-
ui_sys::uiDrawMatrixSetIdentity(&mut matrix);
24-
Transform::from_ui_matrix(&matrix)
22+
let mut matrix = mem::MaybeUninit::uninit();
23+
ui_sys::uiDrawMatrixSetIdentity(matrix.as_mut_ptr());
24+
Transform::from_ui_matrix(&matrix.assume_init())
2525
}
2626
}
2727

iui/src/ffi_tools.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! Utilities to manage the state of the interface to the libUI bindings.
2-
use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
2+
use std::sync::atomic::{AtomicBool, Ordering};
33

4-
static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
4+
static INITIALIZED: AtomicBool = AtomicBool::new(false);
55

66
/// Set the global flag stating that libUI is initialized.
77
///

iui/src/menus.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ impl MenuItem {
4848
/// Sets the function to be executed when the item is clicked/selected.
4949
pub fn on_clicked<'ctx, F: FnMut(&MenuItem, &Window) + 'ctx>(&self, _ctx: &'ctx UI, callback: F) {
5050
unsafe {
51-
let mut data: Box<Box<FnMut(&MenuItem, &Window)>> = Box::new(Box::new(callback));
51+
let mut data: Box<Box<dyn FnMut(&MenuItem, &Window)>> = Box::new(Box::new(callback));
5252
ui_sys::uiMenuItemOnClicked(
5353
self.ui_menu_item,
5454
Some(c_callback),
55-
&mut *data as *mut Box<FnMut(&MenuItem, &Window)> as *mut c_void,
55+
&mut *data as *mut Box<dyn FnMut(&MenuItem, &Window)> as *mut c_void,
5656
);
5757
mem::forget(data);
5858
}
@@ -67,7 +67,7 @@ impl MenuItem {
6767
ui_menu_item: menu_item,
6868
};
6969
let window = Window::from_raw(window);
70-
mem::transmute::<*mut c_void, &mut Box<FnMut(&MenuItem, &Window)>>(data)(
70+
mem::transmute::<*mut c_void, &mut Box<dyn FnMut(&MenuItem, &Window)>>(data)(
7171
&menu_item, &window,
7272
);
7373
mem::forget(window);

iui/src/ui.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,10 @@ impl UI {
135135
/// ```
136136
pub fn queue_main<'ctx, F: FnMut() + 'ctx>(&'ctx self, callback: F) {
137137
unsafe {
138-
let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
138+
let mut data: Box<Box<dyn FnMut()>> = Box::new(Box::new(callback));
139139
ui_sys::uiQueueMain(
140140
None,
141-
&mut *data as *mut Box<FnMut()> as *mut c_void,
141+
&mut *data as *mut Box<dyn FnMut()> as *mut c_void,
142142
);
143143
mem::forget(data);
144144
}
@@ -147,10 +147,10 @@ impl UI {
147147
/// Set a callback to be run when the application quits.
148148
pub fn on_should_quit<'ctx, F: FnMut() + 'ctx>(&'ctx self, callback: F) {
149149
unsafe {
150-
let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
150+
let mut data: Box<Box<dyn FnMut()>> = Box::new(Box::new(callback));
151151
ui_sys::uiOnShouldQuit(
152152
None,
153-
&mut *data as *mut Box<FnMut()> as *mut c_void,
153+
&mut *data as *mut Box<dyn FnMut()> as *mut c_void,
154154
);
155155
mem::forget(data);
156156
}
@@ -167,7 +167,7 @@ pub struct EventLoop<'s> {
167167
// This PhantomData prevents UIToken from being Send and Sync
168168
_pd: PhantomData<*mut ()>,
169169
// This callback gets run during "run_delay" loops.
170-
callback: Option<Box<FnMut() + 's>>,
170+
callback: Option<Box<dyn FnMut() + 's>>,
171171
}
172172

173173
impl<'s> EventLoop<'s> {

0 commit comments

Comments
 (0)