Don't use nightly rust

This commit is contained in:
Shadowfacts 2025-02-22 11:02:36 -05:00
parent 632fa4aa73
commit d5d10a4818
4 changed files with 24 additions and 15 deletions

View File

@ -1,6 +1,6 @@
use std::{
cell::RefCell,
fs::{File, ReadDir},
fs::{DirEntry, File, ReadDir},
path::PathBuf,
rc::Rc,
};
@ -107,10 +107,7 @@ impl Iterator for ReadFilesRecursive {
} else {
match self.read_dir.next() {
Some(Ok(ent)) => {
if let Ok(ft) = ent.file_type()
&& ft.is_dir()
&& let Ok(recurse) = read_files_recursive(ent.path())
{
if let Some(recurse) = read_files_recursive_ent(&ent) {
self.recurse = Some(Box::new(recurse));
self.next()
} else {
@ -123,6 +120,16 @@ impl Iterator for ReadFilesRecursive {
}
}
fn read_files_recursive_ent(ent: &DirEntry) -> Option<ReadFilesRecursive> {
let Ok(ft) = ent.file_type() else {
return None;
};
if !ft.is_dir() {
return None;
}
read_files_recursive(ent.path()).ok()
}
fn read_files_recursive(path: PathBuf) -> std::io::Result<ReadFilesRecursive> {
std::fs::read_dir(path).map(|read_dir| ReadFilesRecursive {
read_dir,

View File

@ -123,13 +123,16 @@ impl Rule for PostsByTag {
.inputs
.iter()
.flat_map(|post_input| {
if let Some(post) = post_input.value().as_ref()
&& post
.metadata
.tags
.iter()
.flatten()
.any(|t| t.slug == self.tag.slug)
let post = post_input.value();
let Some(post) = post.as_ref() else {
return None;
};
if post
.metadata
.tags
.iter()
.flatten()
.any(|t| t.slug == self.tag.slug)
{
Some(Entry {
permalink: post.permalink(),

View File

@ -42,7 +42,8 @@ impl<I: Iterator<Item = char>> Iterator for Slugify<I> {
// if we're about to start lowercasing something, and the previous
// (untransformed) char was lowercase (i.e., at a transition from lower ->
// upper case), emit a substitution
if let Action::Lowercase = action && let Some(prev_char) = prev_char && prev_char.is_lowercase() {
if action == Action::Lowercase && prev_char.map_or(false, |c| c.is_lowercase())
{
self.state = State::Lowercase(c.to_lowercase());
Some(self.substitution)
} else {

View File

@ -1,5 +1,3 @@
#![feature(let_chains)]
mod generator;
mod live_reload;