Compiler experimentation.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add checks

+51 -10
+4
Justfile
··· 1 + check: 2 + cargo check 3 + cargo clippy 4 + cargo nextest run
+19
README.md
··· 1 + # Development 2 + 3 + ## Checks 4 + 5 + For CI or other such builds, use: 6 + 7 + ``` 8 + nix flake check 9 + ``` 10 + 11 + which will run `cargo check`, `clippy`, and the tests. 12 + 13 + For development, there's also: 14 + 15 + ``` 16 + just check 17 + ``` 18 + 19 + available in the dev shell.
+22 -2
flake.nix
··· 15 15 naersk' = pkgs.callPackage naersk {}; 16 16 17 17 in rec { 18 - defaultPackage = naersk'.buildPackage { 19 - src = ./.; 18 + packages = { 19 + default = naersk'.buildPackage { 20 + src = ./.; 21 + }; 22 + }; 23 + 24 + checks = { 25 + check = naersk'.buildPackage { src = ./.; mode = "check"; }; 26 + clippy = naersk'.buildPackage { src = ./.; mode = "clippy"; }; 27 + test = naersk'.buildPackage { 28 + src = ./.; 29 + mode = "test"; 30 + nativeBuildInputs = [pkgs.cargo-nextest]; 31 + cargoTestCommands = _: ["cargo nextest run $cargo_test_options"]; 32 + override = { 33 + buildPhase = ":"; 34 + }; 35 + doCheck = true; 36 + }; 20 37 }; 21 38 22 39 devShell = pkgs.mkShell { 23 40 nativeBuildInputs = with pkgs; [ 24 41 cargo 42 + cargo-nextest 43 + clippy 44 + just 25 45 rust-analyzer 26 46 rustc 27 47 rustfmt
+6 -8
src/lib.rs
··· 1 - pub fn add(left: u64, right: u64) -> u64 { 2 - left + right 1 + /// Compile and run a program, returning the exit code it produced. 2 + pub fn compile_and_run(_input: &str) -> i32 { 3 + 0 3 4 } 4 5 5 6 #[cfg(test)] 6 - mod tests { 7 - use super::*; 8 - 7 + mod test { 9 8 #[test] 10 - fn it_works() { 11 - let result = add(2, 2); 12 - assert_eq!(result, 4); 9 + fn foo() { 10 + assert_eq!(1, 2); 13 11 } 14 12 }