mirror of
https://github.com/nushell/nushell.git
synced 2025-05-29 06:17:54 +02:00
bump the rust toolchain to 1.83.0 (#15148)
# Description This PR bumps the rust toolchain to 1.83.0 and fixes a clippy lint. We do this because Rust 1.85.0 was released today, and we try and stay 2 versions behind. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. -->
This commit is contained in:
parent
4a967d19a9
commit
2f6b4c5e9b
@ -10,7 +10,7 @@ homepage = "https://www.nushell.sh"
|
||||
license = "MIT"
|
||||
name = "nu"
|
||||
repository = "https://github.com/nushell/nushell"
|
||||
rust-version = "1.82.0"
|
||||
rust-version = "1.83.0"
|
||||
version = "0.102.1"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
@ -77,7 +77,9 @@ impl Command for Cd {
|
||||
if let Ok(path) = nu_path::canonicalize_with(path_no_whitespace, &cwd) {
|
||||
if !path.is_dir() {
|
||||
return Err(shell_error::io::IoError::new(
|
||||
shell_error::io::ErrorKind::NotADirectory,
|
||||
shell_error::io::ErrorKind::Std(
|
||||
std::io::ErrorKind::NotADirectory,
|
||||
),
|
||||
v.span,
|
||||
None,
|
||||
)
|
||||
@ -104,7 +106,7 @@ impl Command for Cd {
|
||||
};
|
||||
if !path.is_dir() {
|
||||
return Err(shell_error::io::IoError::new(
|
||||
shell_error::io::ErrorKind::NotADirectory,
|
||||
shell_error::io::ErrorKind::Std(std::io::ErrorKind::NotADirectory),
|
||||
v.span,
|
||||
path,
|
||||
)
|
||||
|
@ -151,7 +151,7 @@ impl Command for Open {
|
||||
// At least under windows this check ensures that we don't get a
|
||||
// permission denied error on directories
|
||||
return Err(ShellError::Io(IoError::new(
|
||||
shell_error::io::ErrorKind::IsADirectory,
|
||||
shell_error::io::ErrorKind::Std(std::io::ErrorKind::IsADirectory),
|
||||
arg_span,
|
||||
PathBuf::from(path),
|
||||
)));
|
||||
|
@ -424,7 +424,9 @@ fn open_file(path: &Path, span: Span, append: bool) -> Result<File, ShellError>
|
||||
// A TOCTOU problem exists here, which may cause wrong error message to be shown
|
||||
#[cfg(target_os = "windows")]
|
||||
if path.is_dir() {
|
||||
Err(nu_protocol::shell_error::io::ErrorKind::IsADirectory)
|
||||
Err(nu_protocol::shell_error::io::ErrorKind::Std(
|
||||
std::io::ErrorKind::IsADirectory,
|
||||
))
|
||||
} else {
|
||||
std::fs::File::create(path).map_err(|err| err.kind().into())
|
||||
}
|
||||
|
@ -405,7 +405,7 @@ impl From<TestRow> for Value {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'r> TryFrom<&rusqlite::Row<'r>> for TestRow {
|
||||
impl TryFrom<&rusqlite::Row<'_>> for TestRow {
|
||||
type Error = rusqlite::Error;
|
||||
|
||||
fn try_from(row: &rusqlite::Row) -> Result<Self, Self::Error> {
|
||||
|
@ -419,7 +419,7 @@ fn set_dir_read_only(directory: &AbsolutePath, read_only: bool) {
|
||||
}
|
||||
|
||||
#[cfg(not(windows))]
|
||||
impl<'a> Drop for Cleanup<'a> {
|
||||
impl Drop for Cleanup<'_> {
|
||||
/// Restores write permissions to the given directory so that the Playground can be successfully
|
||||
/// cleaned up.
|
||||
fn drop(&mut self) {
|
||||
|
@ -87,7 +87,7 @@ impl StatefulWidget for TableWidget<'_> {
|
||||
}
|
||||
|
||||
// todo: refactoring these to methods as they have quite a bit in common.
|
||||
impl<'a> TableWidget<'a> {
|
||||
impl TableWidget<'_> {
|
||||
// header at the top; header is always 1 line
|
||||
fn render_table_horizontal(self, area: Rect, buf: &mut Buffer, state: &mut TableWidgetState) {
|
||||
let padding_l = self.config.column_padding_left as u16;
|
||||
|
@ -132,11 +132,7 @@ pub struct IoError {
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Diagnostic)]
|
||||
pub enum ErrorKind {
|
||||
Std(std::io::ErrorKind),
|
||||
// TODO: in Rust 1.83 this can be std::io::ErrorKind::NotADirectory
|
||||
NotADirectory,
|
||||
NotAFile,
|
||||
// TODO: in Rust 1.83 this can be std::io::ErrorKind::IsADirectory
|
||||
IsADirectory,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Error, Diagnostic)]
|
||||
@ -321,9 +317,7 @@ impl Display for ErrorKind {
|
||||
let (first, rest) = msg.split_at(1);
|
||||
write!(f, "{}{}", first.to_uppercase(), rest)
|
||||
}
|
||||
ErrorKind::NotADirectory => write!(f, "Not a directory"),
|
||||
ErrorKind::NotAFile => write!(f, "Not a file"),
|
||||
ErrorKind::IsADirectory => write!(f, "Is a directory"),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -357,9 +351,7 @@ impl Diagnostic for IoError {
|
||||
std::io::ErrorKind::Other => code.push_str("other"),
|
||||
kind => code.push_str(&kind.to_string().to_lowercase().replace(" ", "_")),
|
||||
},
|
||||
ErrorKind::NotADirectory => code.push_str("not_a_directory"),
|
||||
ErrorKind::NotAFile => code.push_str("not_a_file"),
|
||||
ErrorKind::IsADirectory => code.push_str("is_a_directory"),
|
||||
}
|
||||
|
||||
Some(Box::new(code))
|
||||
|
@ -302,7 +302,7 @@ impl<'a> MapSerializer<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> serde::ser::SerializeStruct for MapSerializer<'a> {
|
||||
impl serde::ser::SerializeStruct for MapSerializer<'_> {
|
||||
type Ok = Value;
|
||||
type Error = Error;
|
||||
|
||||
@ -320,7 +320,7 @@ impl<'a> serde::ser::SerializeStruct for MapSerializer<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> serde::ser::SerializeMap for MapSerializer<'a> {
|
||||
impl serde::ser::SerializeMap for MapSerializer<'_> {
|
||||
type Ok = Value;
|
||||
type Error = Error;
|
||||
|
||||
@ -351,7 +351,7 @@ impl<'a> serde::ser::SerializeMap for MapSerializer<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> serde::ser::SerializeStructVariant for MapSerializer<'a> {
|
||||
impl serde::ser::SerializeStructVariant for MapSerializer<'_> {
|
||||
type Ok = Value;
|
||||
type Error = Error;
|
||||
|
||||
@ -385,7 +385,7 @@ impl<'a> SeqSerializer<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> serde::ser::SerializeSeq for SeqSerializer<'a> {
|
||||
impl serde::ser::SerializeSeq for SeqSerializer<'_> {
|
||||
type Ok = Value;
|
||||
type Error = Error;
|
||||
|
||||
@ -402,7 +402,7 @@ impl<'a> serde::ser::SerializeSeq for SeqSerializer<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> serde::ser::SerializeTuple for SeqSerializer<'a> {
|
||||
impl serde::ser::SerializeTuple for SeqSerializer<'_> {
|
||||
type Ok = Value;
|
||||
type Error = Error;
|
||||
|
||||
@ -419,7 +419,7 @@ impl<'a> serde::ser::SerializeTuple for SeqSerializer<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> serde::ser::SerializeTupleStruct for SeqSerializer<'a> {
|
||||
impl serde::ser::SerializeTupleStruct for SeqSerializer<'_> {
|
||||
type Ok = Value;
|
||||
type Error = Error;
|
||||
|
||||
@ -436,7 +436,7 @@ impl<'a> serde::ser::SerializeTupleStruct for SeqSerializer<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> serde::ser::SerializeTupleVariant for SeqSerializer<'a> {
|
||||
impl serde::ser::SerializeTupleVariant for SeqSerializer<'_> {
|
||||
type Ok = Value;
|
||||
type Error = Error;
|
||||
|
||||
|
@ -16,4 +16,4 @@ profile = "default"
|
||||
# use in nushell, we may opt to use the bleeding edge stable version of rust.
|
||||
# I believe rust is on a 6 week release cycle and nushell is on a 4 week release cycle.
|
||||
# So, every two nushell releases, this version number should be bumped by one.
|
||||
channel = "1.82.0"
|
||||
channel = "1.83.0"
|
||||
|
@ -78,9 +78,9 @@ fn run_interactive_stderr(xdg_config_home: impl AsRef<Path>) -> String {
|
||||
.output()
|
||||
.expect("Should have outputted");
|
||||
|
||||
return String::from_utf8_lossy(&child_output.stderr)
|
||||
String::from_utf8_lossy(&child_output.stderr)
|
||||
.trim()
|
||||
.to_string();
|
||||
.to_string()
|
||||
}
|
||||
|
||||
fn test_config_path_helper(
|
||||
|
Loading…
x
Reference in New Issue
Block a user