|  | 
| 1 | 1 | # Test combinations of features | 
| 2 | 2 | 
 | 
| 3 |  | -Command  ← {"cargo" "clippy" "--lib" "--no-default-features"} | 
| 4 |  | -Features ← ( | 
| 5 |  | -  {"audio" "tls"} | 
| 6 |  | -  ⊂⨬( | 
| 7 |  | -    {"gif,image,terminal_image,webcam" "lsp,raw_mode"} | 
| 8 |  | -  | {"audio_encode" "gif" "image" "terminal_image" "lsp" "native_sys" "raw_mode"} | 
| 9 |  | -  ) ∈:□"all" &args | 
|  | 3 | +Command     ← {"cargo" "clippy" "--no-default-features"} | 
|  | 4 | +ClippyArgs  ← {"--deny=warnings"} | 
|  | 5 | +AllowNotAll ← {"--allow=unused"} | 
|  | 6 | +# Success ? Package Features UseAll | 
|  | 7 | +Run ← ( | 
|  | 8 | +  ⊸(&p $"Checking package _") | 
|  | 9 | +  ⊂Command {"--package" ∘} | 
|  | 10 | +  ⊙( | 
|  | 11 | +    ˜⧅⋅⋅1⇡2⊸⧻ | 
|  | 12 | +    ≡⌟{"--features" /$"_,_"▽} | 
|  | 13 | +    ⍚(⊂□⨬$"features: _"⋅"no features"=₀⊸⧻°□⊸⊣) | 
|  | 14 | +    ⍚˜⊂{⊂₃{"--"} ClippyArgs AllowNotAll} | 
|  | 15 | +    ⊂⊙(˜▽{⊂{"all features" "--all-features" "--"} ClippyArgs}) | 
|  | 16 | +  ) | 
|  | 17 | +  ≡⌞( | 
|  | 18 | +    ⊙◇°⊂ | 
|  | 19 | +    ⊙(&p $"Checking with _") | 
|  | 20 | +    &runi ⊂ | 
|  | 21 | +  ) | 
|  | 22 | +  /×=₀ | 
| 10 | 23 | ) | 
| 11 |  | - | 
| 12 |  | -&p "Checking with no features" | 
| 13 |  | -⍤⟜≍: 0 &runi Command | 
| 14 |  | - | 
| 15 |  | -↘1⋯⇡ⁿ:2⧻. Features | 
| 16 |  | -≡(/$"_,_" ▽ | 
| 17 |  | -  &p $"Checking with features: _". | 
| 18 |  | -  ⊂ Command ⊂ □"--features" □ | 
| 19 |  | -  ⍤⟜≍: 0 &runi | 
| 20 |  | -)⊙¤ | 
|  | 24 | +/◇⊂{ | 
|  | 25 | +  ¤Run "uiua" ( | 
|  | 26 | +    {"audio" "tls" "binary"} | 
|  | 27 | +    ⊂⨬( | 
|  | 28 | +      {"gif,image,terminal_image,webcam" "lsp,raw_mode"} | 
|  | 29 | +    | {"audio_encode" "gif" "image" "terminal_image" "lsp" "native_sys" "raw_mode"} | 
|  | 30 | +    ) ˜∊□"all" &args | 
|  | 31 | +  ) 1 | 
|  | 32 | +  ≡⌟₂◇Run {"site" "uiua-editor" "tests_ffi" "uiua_parser"} {} 0 | 
|  | 33 | +} | 
|  | 34 | +⍤"One or more invocations failed" /× | 
0 commit comments