File tree Expand file tree Collapse file tree 3 files changed +72
-2
lines changed Expand file tree Collapse file tree 3 files changed +72
-2
lines changed Original file line number Diff line number Diff line change 3
3
4
4
inputs = {
5
5
nixpkgs . url = "github:nixos/nixpkgs?ref=nixos-25.05" ;
6
+ rust-overlay . url = "github:oxalica/rust-overlay" ;
6
7
flake-utils . url = "github:numtide/flake-utils" ;
7
8
} ;
8
9
9
10
outputs = {
10
11
self ,
11
12
nixpkgs ,
13
+ rust-overlay ,
12
14
flake-utils ,
13
15
} :
14
16
flake-utils . lib . eachDefaultSystem (
20
22
src = pkgs . nix-gitignore . gitignoreSource [ ] ./${ pkg } ;
21
23
cargoLock . lockFile = ./${ pkg } /Cargo.lock ;
22
24
} ;
25
+ mkRustPkgWasm = pkg : let
26
+ buildTarget = "wasm32-wasip1" ;
27
+ pkgs = import nixpkgs {
28
+ inherit system ;
29
+ overlays = [ rust-overlay . overlays . default ] ;
30
+ } ;
31
+ rustToolchain = pkgs . rust-bin . stable . latest . default . override {
32
+ targets = [ buildTarget ] ;
33
+ } ;
34
+ rustPlatform = pkgs . makeRustPlatform {
35
+ cargo = rustToolchain ;
36
+ rustc = rustToolchain ;
37
+ } ;
38
+ in
39
+ rustPlatform . buildRustPackage {
40
+ name = pkg ;
41
+ src = pkgs . nix-gitignore . gitignoreSource [ ] ./${ pkg } ;
42
+ cargoLock . lockFile = ./${ pkg } /Cargo.lock ;
43
+ buildPhase = ''
44
+ cargo build --release -p ${ pkg } --target=${ buildTarget }
45
+ '' ;
46
+ installPhase = ''
47
+ mkdir -p $out/lib
48
+ cp target/${ buildTarget } /release/*.wasm $out/lib/
49
+ '' ;
50
+ # Disable checks if they only work for WASM
51
+ # doCheck = false;
52
+ } ;
23
53
in {
24
54
devShells . default = pkgs . mkShell {
25
55
packages = with pkgs ; [
31
61
rust-analyzer
32
62
rustc
33
63
rustfmt
64
+ wasmtime
34
65
] ;
66
+ shellHook = ''
67
+ SHELL=/run/current-system/sw/bin/bash
68
+ '' ;
35
69
} ;
36
70
packages = {
37
71
rustell = mkRustPkg "rustell" ;
72
+ rustell-wasm = mkRustPkgWasm "rustell" ;
38
73
default = self . packages . ${ system } . rustell ;
39
74
} ;
40
75
}
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ fn expr_use<'a>(
22
22
top : bool ,
23
23
ast : & ' a ExprUse < ' a > ,
24
24
) -> IntoIter < & ' a str > {
25
- let x0 = if top { vec ! [ "use" ] } else { vec ! [ ] } ;
25
+ let x0 = if top { vec ! [ "use " ] } else { vec ! [ ] } ;
26
26
27
27
let x1 = match ast {
28
28
ExprUse :: Item {
You can’t perform that action at this time.
0 commit comments