Added logging for compile-time feature `status`

Fortune for day14's current commit: Blessing − 吉
master
Avril 2 years ago
parent 99a39cf5dc
commit 2eb60791bf
Signed by: flanchan
GPG Key ID: 284488987C31F630

135
day14/Cargo.lock generated

@ -17,6 +17,26 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "aho-corasick"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
dependencies = [
"memchr",
]
[[package]]
name = "atty"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi",
"libc",
"winapi",
]
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.67" version = "0.3.67"
@ -64,6 +84,21 @@ dependencies = [
"color-eyre", "color-eyre",
"jemallocator", "jemallocator",
"linebuffer", "linebuffer",
"log",
"pretty_env_logger",
]
[[package]]
name = "env_logger"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
dependencies = [
"atty",
"humantime",
"log",
"regex",
"termcolor",
] ]
[[package]] [[package]]
@ -88,6 +123,24 @@ version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793"
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "humantime"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
dependencies = [
"quick-error",
]
[[package]] [[package]]
name = "indenter" name = "indenter"
version = "0.3.3" version = "0.3.3"
@ -125,6 +178,15 @@ checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
name = "linebuffer" name = "linebuffer"
version = "0.1.0" version = "0.1.0"
[[package]]
name = "log"
version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
dependencies = [
"cfg-if",
]
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.5.0" version = "2.5.0"
@ -161,8 +223,81 @@ version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
[[package]]
name = "pretty_env_logger"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d"
dependencies = [
"env_logger",
"log",
]
[[package]]
name = "quick-error"
version = "1.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
[[package]]
name = "regex"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.6.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
[[package]] [[package]]
name = "rustc-demangle" name = "rustc-demangle"
version = "0.1.21" version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
[[package]]
name = "termcolor"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
dependencies = [
"winapi-util",
]
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
"winapi",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

@ -19,9 +19,11 @@ strip=false
[features] [features]
default= ["jemallocator"] default= ["jemallocator"]
status = ["jemallocator/profiling"] status = ["jemallocator/profiling", "pretty_env_logger"]
[dependencies] [dependencies]
color-eyre = { version = "0.6.2", default-features = false } color-eyre = { version = "0.6.2", default-features = false }
jemallocator = { version = "0.5.0", optional = true } jemallocator = { version = "0.5.0", optional = true }
linebuffer = { path = "/home/avril/work/linebuffer" } linebuffer = { path = "/home/avril/work/linebuffer" }
log = "0.4.17"
pretty_env_logger = { version = "0.4.0", optional = true }

@ -1,12 +1,11 @@
#![feature(repr_simd)] #![feature(repr_simd)]
#[macro_use] extern crate log;
use std::{ use std::{
str, str,
io, io,
iter::{ iter,
self,
Fuse,
},
path::Path, path::Path,
}; };
@ -33,10 +32,7 @@ const _:() = {
}; };
mod ext { mod ext {
use super::iter::{ use super::iter::FusedIterator;
self,
FusedIterator,
};
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct TakeTwo<I: ?Sized>(I); pub struct TakeTwo<I: ?Sized>(I);
@ -235,8 +231,17 @@ const INPUT_FILENAME: &'static str = "input";
/// Starting point of sand falling /// Starting point of sand falling
const ORIGIN_POINT: Point = Point { x: 500, y: 0 }; const ORIGIN_POINT: Point = Point { x: 500, y: 0 };
fn main() -> eyre::Result<()> { fn init() -> eyre::Result<()>
{
color_eyre::install()?; color_eyre::install()?;
#[cfg(feature="status")]
pretty_env_logger::init();
Ok(())
}
fn main() -> eyre::Result<()> {
init().wrap_err("Failed to install handlers and hooks")?;
// Input // Input
let input = load_input_from(INPUT_FILENAME) let input = load_input_from(INPUT_FILENAME)
@ -246,9 +251,14 @@ fn main() -> eyre::Result<()> {
let input = Input::parse(input) let input = Input::parse(input)
.wrap_err("Failed to parse input")?; .wrap_err("Failed to parse input")?;
if cfg!(feature="status") {
debug!("Read {} zipped lines from input", input.zipped_len());
trace!("Input is:\n```{input:#?}```");
}
todo!("Deconstruction, draw, and simulation from `ORIGIN_POINT`");
//TODO: Deconstruct each `Line` into the horizontal and vertical movements //TODO: Deconstruct each `Line` into the horizontal and vertical movements
eprintln!("{input:#?}");
println!("{}", input.zipped_len());
//TODO: Draw lines into grid before starting simulation of sand from `ORIGIN_POINT`. //TODO: Draw lines into grid before starting simulation of sand from `ORIGIN_POINT`.

Loading…
Cancel
Save