Use old 1.51 toolchain instead of bleeding edge (#505)

* Use old 1.51 toolchain instead of bleeding edge

1.52 and 1.53 has problems with incremental compilation,
so some people chose to stay on 1.51 for now.

So let's make sure egui supports 1.51 for a while!

* Update to cint 0.2.2 to get rust 1.51.0 compatability
This commit is contained in:
Emil Ernerfeldt 2021-06-23 09:16:39 +02:00 committed by GitHub
parent 269a4538d9
commit 6e7e88ba80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 114 additions and 85 deletions

View file

@ -17,7 +17,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: sudo apt-get install libspeechd-dev - run: sudo apt-get install libspeechd-dev
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -32,7 +32,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: sudo apt-get install libspeechd-dev - run: sudo apt-get install libspeechd-dev
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -48,7 +48,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -64,7 +64,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -80,7 +80,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev - run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -96,7 +96,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: rustup component add rustfmt - run: rustup component add rustfmt
- uses: actions-rs/cargo@v1 - uses: actions-rs/cargo@v1
@ -112,7 +112,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: rustup component add clippy - run: rustup component add clippy
- run: sudo apt-get install libspeechd-dev - run: sudo apt-get install libspeechd-dev
@ -129,7 +129,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: sudo apt-get install libspeechd-dev - run: sudo apt-get install libspeechd-dev
- run: cargo doc -p emath -p epaint -p egui -p eframe -p epi -p egui_web -p egui_glium --lib --no-deps --all-features - run: cargo doc -p emath -p epaint -p egui -p eframe -p epi -p egui_web -p egui_glium --lib --no-deps --all-features
@ -142,7 +142,7 @@ jobs:
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: stable toolchain: 1.51.0
override: true override: true
- run: sudo apt-get install libspeechd-dev - run: sudo apt-get install libspeechd-dev
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown

View file

@ -24,6 +24,7 @@ NOTE: [`eframe`](eframe/CHANGELOG.md), [`egui_web`](egui_web/CHANGELOG.md) and [
* Add `ScrollArea::enable_scrolling` to allow freezing scrolling when editing TextEdit widgets within it * Add `ScrollArea::enable_scrolling` to allow freezing scrolling when editing TextEdit widgets within it
### Changed 🔧 ### Changed 🔧
* Minimum Rust version is now 1.51 (used to be 1.52)
* [Tweaked the default visuals style](https://github.com/emilk/egui/pull/450). * [Tweaked the default visuals style](https://github.com/emilk/egui/pull/450).
* Plot: Changed `Curve` to `Line`. * Plot: Changed `Curve` to `Line`.
* `TopPanel::top` is now `TopBottomPanel::top`. * `TopPanel::top` is now `TopBottomPanel::top`.

4
Cargo.lock generated
View file

@ -296,9 +296,9 @@ checksum = "fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e"
[[package]] [[package]]
name = "cint" name = "cint"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00709959bb62458ca8d7f043b1039e0d99e91f5500f004164ec371f546eadc47" checksum = "5d83feae28854d73f33659f9018546157422ddf5b84264ce171a766d8547d77b"
[[package]] [[package]]
name = "clang-sys" name = "clang-sys"

View file

@ -11,13 +11,15 @@
//! //!
//! `eframe` is implemented using [`egui_web`](https://docs.rs/egui_web) and [`egui_glium`](https://docs.rs/egui_glium). //! `eframe` is implemented using [`egui_web`](https://docs.rs/egui_web) and [`egui_glium`](https://docs.rs/egui_glium).
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn(clippy::all, missing_docs, rust_2018_idioms)] #![warn(clippy::all, missing_docs, rust_2018_idioms)]

View file

@ -3,7 +3,7 @@
//! Try the live web demo: <https://emilk.github.io/egui/index.html>. Read more about egui at <https://github.com/emilk/egui>. //! Try the live web demo: <https://emilk.github.io/egui/index.html>. Read more about egui at <https://github.com/emilk/egui>.
//! //!
//! `egui` is in heavy development, with each new version having breaking changes. //! `egui` is in heavy development, with each new version having breaking changes.
//! You need to have the latest stable version of `rustc` to use `egui`. //! You need to have rust 1.51.0 or later to use `egui`.
//! //!
//! To quickly get started with egui, you can take a look at [`egui_template`](https://github.com/emilk/egui_template) //! To quickly get started with egui, you can take a look at [`egui_template`](https://github.com/emilk/egui_template)
//! which uses [`eframe`](https://docs.rs/eframe). //! which uses [`eframe`](https://docs.rs/eframe).
@ -239,13 +239,15 @@
//! }); // the temporary settings are reverted here //! }); // the temporary settings are reverted here
//! ``` //! ```
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn( #![warn(
clippy::all, clippy::all,

View file

@ -1,10 +1,12 @@
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn(clippy::all, rust_2018_idioms)] #![warn(clippy::all, rust_2018_idioms)]

View file

@ -1,10 +1,12 @@
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn(clippy::all, rust_2018_idioms)] #![warn(clippy::all, rust_2018_idioms)]

View file

@ -2,13 +2,15 @@
//! //!
//! The demo-code is also used in benchmarks and tests. //! The demo-code is also used in benchmarks and tests.
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn( #![warn(
clippy::all, clippy::all,

View file

@ -5,13 +5,15 @@
//! This library is an [`epi`] backend. //! This library is an [`epi`] backend.
//! If you are writing an app, you may want to look at [`eframe`](https://docs.rs/eframe) instead. //! If you are writing an app, you may want to look at [`eframe`](https://docs.rs/eframe) instead.
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn(clippy::all, rust_2018_idioms)] #![warn(clippy::all, rust_2018_idioms)]
#![allow(clippy::manual_range_contains, clippy::single_match)] #![allow(clippy::manual_range_contains, clippy::single_match)]

View file

@ -9,13 +9,15 @@
//! fill the whole width of the browser. //! fill the whole width of the browser.
//! This can be changed by overriding [`epi::App::max_size_points`]. //! This can be changed by overriding [`epi::App::max_size_points`].
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn(clippy::all, rust_2018_idioms)] #![warn(clippy::all, rust_2018_idioms)]

View file

@ -9,13 +9,15 @@
//! * (0,0) is left top. //! * (0,0) is left top.
//! * Dimension order is always `x y` //! * Dimension order is always `x y`
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn( #![warn(
clippy::all, clippy::all,

View file

@ -26,7 +26,7 @@ emath = { version = "0.12.0", path = "../emath" }
ahash = { version = "0.7", features = ["std"], default-features = false } ahash = { version = "0.7", features = ["std"], default-features = false }
atomic_refcell = { version = "0.1", optional = true } # Used instead of parking_lot when you are always using epaint in a single thread. About as fast as parking_lot. Panics on multi-threaded use. atomic_refcell = { version = "0.1", optional = true } # Used instead of parking_lot when you are always using epaint in a single thread. About as fast as parking_lot. Panics on multi-threaded use.
cint = { version = "^0.2.1", optional = true } cint = { version = "^0.2.2", optional = true }
ordered-float = { version = "2", default-features = false } ordered-float = { version = "2", default-features = false }
parking_lot = { version = "0.11", optional = true } # Using parking_lot over std::sync::Mutex gives 50% speedups in some real-world scenarios. parking_lot = { version = "0.11", optional = true } # Using parking_lot over std::sync::Mutex gives 50% speedups in some real-world scenarios.
rusttype = "0.9" rusttype = "0.9"

View file

@ -1,12 +1,14 @@
//! 2D graphics/rendering. Fonts, textures, color, geometry, tessellation etc. //! 2D graphics/rendering. Fonts, textures, color, geometry, tessellation etc.
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn( #![warn(
clippy::all, clippy::all,

View file

@ -583,8 +583,6 @@ impl Galley {
#[test] #[test]
fn test_text_layout() { fn test_text_layout() {
#![allow(clippy::bool_assert_comparison)]
impl PartialEq for Cursor { impl PartialEq for Cursor {
fn eq(&self, other: &Cursor) -> bool { fn eq(&self, other: &Cursor) -> bool {
(self.ccursor, self.rcursor, self.pcursor) (self.ccursor, self.rcursor, self.pcursor)

View file

@ -6,13 +6,15 @@
//! //!
//! Start by looking at the [`App`] trait, and implement [`App::update`]. //! Start by looking at the [`App`] trait, and implement [`App::update`].
#![cfg_attr(not(debug_assertions), deny(warnings))] // Forbid warnings in release builds // Forbid warnings in release builds:
#![deny( #![cfg_attr(not(debug_assertions), deny(warnings))]
rustdoc::broken_intra_doc_links, // Disabled so we can support rust 1.51:
rustdoc::invalid_codeblock_attributes, // #![deny(
rustdoc::missing_crate_level_docs, // rustdoc::broken_intra_doc_links,
rustdoc::private_intra_doc_links // rustdoc::invalid_codeblock_attributes,
)] // rustdoc::missing_crate_level_docs,
// rustdoc::private_intra_doc_links
// )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn( #![warn(
clippy::all, clippy::all,

10
rust-toolchain Normal file
View file

@ -0,0 +1,10 @@
# If you see this, run "rustup self update" to get rustup 1.23 or newer.
# NOTE: above comment is for older `rustup` (before TOML support was added),
# which will treat the first line as the toolchain name, and therefore show it
# to the user in the error, instead of "error: invalid channel name '[toolchain]'".
[toolchain]
channel = "1.51.0"
components = [ "rustfmt", "clippy" ]
targets = [ "wasm32-unknown-unknown" ]