Repository: rust
Issue: Cargo fix error
Labels: T-compiler,T-cargo,C-bug,D-incorrect,S-needs-repro

```
❯ cargo fix --bin aplang --allow-dirty                                                                                                                                                                                                                                          6
    Checking aplang v0.1.0 (/code/rust/aplang)
warning: failed to automatically apply fixes suggested by rustc to crate `aplang`

after fixes were automatically applied the compiler reported errors within these files:

  * src/aplang_std/file_system.rs
  * src/aplang_std/std_macros.rs
  * src/ast.rs
  * src/interpreter.rs
  * src/parser.rs

This likely indicates a bug in either rustc or cargo itself,
and we would appreciate a bug report! You're likely to see
a number of compiler warnings after this message which cargo
attempted to fix but failed. If you could open an issue at
https://github.com/rust-lang/rust/issues
quoting the full output of this command we'd be very appreciative!
Note that you may be able to make some more progress in the near-term
fixing code with the `--broken-code` flag

The following errors were reported:
warning: unused import: `Diagnostic`
 --> src/parser.rs:7:22
  |
7 | use miette::{miette, Diagnostic, LabeledSpan, NamedSource, Report};
  |                      ^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused variable: `import_stmt`
   --> src/ast.rs:359:30
    |
359 |                 Stmt::Import(import_stmt) => Box::new(
    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_import_stmt`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `b`
   --> src/interpreter.rs:223:17
    |
223 |         let (a, b) = self.functions.get(&function_name).ok_or(
    |                 ^ help: if this is intentional, prefix it with an underscore: `_b`

warning: unused variable: `l`
   --> src/interpreter.rs:776:23
    |
776 |             (op, List(l)) => Err(
    |                       ^ help: if this is intentional, prefix it with an underscore: `_l`

warning: unused variable: `lp_token`
   --> src/parser.rs:113:13
    |
113 |         let lp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`

warning: unused variable: `peeked`
   --> src/parser.rs:138:25
    |
138 |                     let peeked = self.peek();
    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_peeked`

warning: unused variable: `rp_token`
   --> src/parser.rs:172:13
    |
172 |         let rp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rp_token`

warning: unused variable: `token`
   --> src/parser.rs:145:56
    |
145 |                 let token = self.consume(&Identifier, |token| miette!(
    |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:266:36
    |
266 |             .consume(&RightBrace, |token| {
    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:307:38
    |
307 |             self.consume(&SoftSemi, |token| miette!{
    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:321:45
    |
321 |         let mod_token = self.consume(&Mod, |token| miette! {
    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:325:59
    |
325 |         let import_string = self.consume(&StringLiteral, |token| miette! {
    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:329:34
    |
329 |         self.consume(&SoftSemi, |token| miette! {
    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `lp_token`
   --> src/parser.rs:342:13
    |
342 |         let lp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`

warning: unused variable: `rp_token`
   --> src/parser.rs:362:13
    |
362 |         let rp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rp_token`

warning: unused variable: `lp_token`
   --> src/parser.rs:466:13
    |
466 |         let lp_token = self.consume(&LeftParen, |token| {
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`

warning: unused variable: `rp_token`
   --> src/parser.rs:483:13
    |
483 |         let rp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rp_token`

warning: unused variable: `token`
   --> src/parser.rs:445:31
    |
445 |             .consume(&Until, |token| {
    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `next_token`
   --> src/parser.rs:990:33
    |
990 | ...                   let next_token = self.peek();
    |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_token`

warning: unused variable: `report`
    --> src/parser.rs:1292:21
     |
1292 |                 let report = report_handler();
     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`

warning: unused variable: `report`
    --> src/parser.rs:1304:21
     |
1304 |                 let report = report_handler();
     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`

warning: unused variable: `iter`
  --> src/aplang_std/std_macros.rs:11:25
   |
11 |                       let iter = args.into_iter();
   |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
   |
  ::: src/aplang_std/time.rs:9:5
   |
9  | /     std_function!(env.functions=> fn TIME() {
10 | |
11 | |         let now = SystemTime::now();
12 | |         let unix_time_ms = now.duration_since(UNIX_EPOCH).expect("TIME WENT BACKWARDS???");
13 | |
14 | |         return Ok(Value::Number(unix_time_ms.as_millis() as f64))
15 | |     });
   | |______- in this macro invocation
   |
   = note: this warning originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unused variable: `e`
  --> src/aplang_std/file_system.rs:56:20
   |
56 |         if let Err(e) = write!(file, "{}" , contents) {
   |                    ^ help: if this is intentional, prefix it with an underscore: `_e`

warning: unused variable: `e`
  --> src/aplang_std/file_system.rs:71:20
   |
71 |         if let Err(e) = write!(file, "{}", contents){
   |                    ^ help: if this is intentional, prefix it with an underscore: `_e`

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/file_system.rs:15:5
   |
15 | /     std_function!(env.functions => fn PATH_EXISTS(path: Value) {
16 | |         unwrap_arg_type!(path => Value::String);
17 | |
18 | |         let exists = Path::new(&path).exists();
19 | |
20 | |         return Ok(Value::Bool(exists))
21 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/file_system.rs:24:5
   |
24 | /     std_function!(env.functions => fn FILE_CREATE(file_path: Value) {
25 | |         unwrap_arg_type!(file_path => Value::String);
26 | |
27 | |         return match File::create_new(file_path) {
...  |
30 | |         }
31 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/file_system.rs:34:5
   |
34 | /     std_function!(env.functions => fn FILE_READ(file_path: Value) {
35 | |         unwrap_arg_type!(file_path => Value::String);
36 | |
37 | |         return match fs::read_to_string(file_path) {
...  |
45 | |         }
46 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/file_system.rs:49:5
   |
49 | /     std_function!(env.functions => fn FILE_APPEND(file_path: Value, contents: Value) {
50 | |         unwrap_arg_type!(file_path => Value::String);
51 | |
52 | |         let Ok(mut file) = OpenOptions::new().append(true).open(file_path) else {
...  |
60 | |         return Ok(Value::Bool(true))
61 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/file_system.rs:64:5
   |
64 | /     std_function!(env.functions => fn FILE_OVERWRITE(file_path: Value, contents: Value) {
65 | |         unwrap_arg_type!(file_path => Value::String);
66 | |
67 | |         let Ok(mut file) = OpenOptions::new().write(true).truncate(true).open(file_path) else {
...  |
75 | |         return Ok(Value::Bool(true))
76 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/mod.rs:48:5
   |
48 | /     std_function!(env.functions => fn DISPLAY(value: Value) {
49 | |         println!("{}", value);
50 | |
51 | |         return Ok(Value::Null)
52 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/mod.rs:54:5
   |
54 | /     std_function!(env.functions => fn INSERT(list: Value, i: Value, value: Value) {
55 | |         unwrap_arg_type!(list => Value::List);
56 | |         unwrap_arg_type!(i => Value::Number);
57 | |
...  |
61 | |         return Ok(Value::Null)
62 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/mod.rs:64:5
   |
64 | /     std_function!(env.functions => fn APPEND(list: Value, value: Value) {
65 | |         unwrap_arg_type!(list => Value::List);
66 | |
67 | |         list.borrow_mut().push(value.clone());
68 | |
69 | |         return Ok(Value::Null)
70 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/mod.rs:72:5
   |
72 | /     std_function!(env.functions => fn REMOVE(list: Value, i: Value) {
73 | |         unwrap_arg_type!(list => Value::List);
74 | |         unwrap_arg_type!(i => Value::Number);
75 | |
...  |
79 | |         return Ok(poped);
80 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error[E0596]: cannot borrow `iter` as mutable, as it is not declared as mutable
  --> src/aplang_std/std_macros.rs:12:35
   |
12 |                       $( let $arg = iter.next().unwrap();)*
   |                                     ^^^^ cannot borrow as mutable
   |
  ::: src/aplang_std/mod.rs:82:6
   |
82 | /      std_function!(env.functions => fn LENGTH(list: Value) {
83 | |         unwrap_arg_type!(list => Value::List);
84 | |
85 | |         let len = list.borrow().len() as f64;
86 | |
87 | |         return Ok(Value::Number(len))
88 | |     });
   | |______- in this macro invocation
   |
   = note: this error originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider changing this to be mutable
   |
11 |                     let mut iter = args.into_iter();
   |                         +++

error: aborting due to 10 previous errors; 24 warnings emitted

For more information about this error, try `rustc --explain E0596`.
Original diagnostics will follow.

warning: unnecessary parentheses around type
   --> src/lexer.rs:399:18
    |
399 |     type Error = (String);
    |                  ^      ^
    |
    = note: `#[warn(unused_parens)]` on by default
help: remove these parentheses
    |
399 -     type Error = (String);
399 +     type Error = String;
    |

warning: unnecessary parentheses around type
   --> src/lexer.rs:413:18
    |
413 |     type Error = (String);
    |                  ^      ^
    |
help: remove these parentheses
    |
413 -     type Error = (String);
413 +     type Error = String;
    |

warning: unused import: `crate::token::TokenType::Identifier`
    --> src/parser.rs:1255:9
     |
1255 |     use crate::token::TokenType::Identifier;
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: `#[warn(unused_imports)]` on by default

warning: unused imports: `Token`, `get_keywords_hashmap`
    --> src/parser.rs:1256:24
     |
1256 |     use crate::token::{get_keywords_hashmap, Token};
     |                        ^^^^^^^^^^^^^^^^^^^^  ^^^^^

warning: unused imports: `Severity`, `miette`
    --> src/parser.rs:1257:18
     |
1257 |     use miette::{miette, Report, Severity};
     |                  ^^^^^^          ^^^^^^^^

warning: unused import: `crate::aplang_std::file_system::file_system`
 --> src/aplang_std/mod.rs:6:5
  |
6 | use crate::aplang_std::file_system::file_system;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `crate::errors::RuntimeError`
 --> src/aplang_std/time.rs:4:5
  |
4 | use crate::errors::RuntimeError;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `std::rc::Rc`
 --> src/aplang_std/std_macros.rs:1:5
  |
1 | use std::rc::Rc;
  |     ^^^^^^^^^^^

warning: unused import: `crate::errors::RuntimeError`
 --> src/aplang_std/std_macros.rs:2:5
  |
2 | use crate::errors::RuntimeError;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `Env`, `Interpreter`, `NativeProcedure`, `Value`
 --> src/aplang_std/std_macros.rs:3:26
  |
3 | use crate::interpreter::{Env, Interpreter, NativeProcedure, Value};
  |                          ^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^

warning: unused import: `std::sync::Arc`
 --> src/aplang_std/std_macros.rs:4:5
  |
4 | use std::sync::Arc;
  |     ^^^^^^^^^^^^^^

warning: unused import: `Diagnostic`
 --> src/parser.rs:7:22
  |
7 | use miette::{miette, Diagnostic, LabeledSpan, NamedSource, Report};
  |                      ^^^^^^^^^^

warning: unused variable: `import_stmt`
   --> src/ast.rs:359:30
    |
359 |                 Stmt::Import(import_stmt) => Box::new(
    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_import_stmt`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `b`
   --> src/interpreter.rs:223:17
    |
223 |         let (a, b) = self.functions.get(&function_name).ok_or(
    |                 ^ help: if this is intentional, prefix it with an underscore: `_b`

warning: variable does not need to be mutable
   --> src/interpreter.rs:368:21
    |
368 |                 let mut values = match self.expr(&for_each.list)? {
    |                     ----^^^^^^
    |                     |
    |                     help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` on by default

warning: variable does not need to be mutable
   --> src/interpreter.rs:369:33
    |
369 |                     Value::List(mut list) => list,
    |                                 ----^^^^
    |                                 |
    |                                 help: remove this `mut`

warning: variable does not need to be mutable
   --> src/interpreter.rs:657:21
    |
657 |         if let Some(mut target) = list.borrow_mut().get_mut((idx - 1.0) as usize) {
    |                     ----^^^^^^
    |                     |
    |                     help: remove this `mut`

warning: unused variable: `l`
   --> src/interpreter.rs:776:23
    |
776 |             (op, List(l)) => Err(
    |                       ^ help: if this is intentional, prefix it with an underscore: `_l`

warning: unused variable: `lp_token`
   --> src/parser.rs:113:13
    |
113 |         let lp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`

warning: unused variable: `peeked`
   --> src/parser.rs:138:25
    |
138 |                     let peeked = self.peek();
    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_peeked`

warning: unused variable: `rp_token`
   --> src/parser.rs:172:13
    |
172 |         let rp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rp_token`

warning: unused variable: `token`
   --> src/parser.rs:145:56
    |
145 |                 let token = self.consume(&Identifier, |token| miette!(
    |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:266:36
    |
266 |             .consume(&RightBrace, |token| {
    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:307:38
    |
307 |             self.consume(&SoftSemi, |token| miette!{
    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:321:45
    |
321 |         let mod_token = self.consume(&Mod, |token| miette! {
    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:325:59
    |
325 |         let import_string = self.consume(&StringLiteral, |token| miette! {
    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `token`
   --> src/parser.rs:329:34
    |
329 |         self.consume(&SoftSemi, |token| miette! {
    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `lp_token`
   --> src/parser.rs:342:13
    |
342 |         let lp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`

warning: unused variable: `rp_token`
   --> src/parser.rs:362:13
    |
362 |         let rp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rp_token`

warning: unused variable: `lp_token`
   --> src/parser.rs:466:13
    |
466 |         let lp_token = self.consume(&LeftParen, |token| {
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_token`

warning: unused variable: `rp_token`
   --> src/parser.rs:483:13
    |
483 |         let rp_token = self
    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rp_token`

warning: unused variable: `token`
   --> src/parser.rs:445:31
    |
445 |             .consume(&Until, |token| {
    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`

warning: unused variable: `next_token`
   --> src/parser.rs:990:33
    |
990 | ...                   let next_token = self.peek();
    |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_token`

warning: unused variable: `report`
    --> src/parser.rs:1292:21
     |
1292 |                 let report = report_handler();
     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`

warning: unused variable: `report`
    --> src/parser.rs:1304:21
     |
1304 |                 let report = report_handler();
     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`

warning: unused variable: `iter`
  --> src/aplang_std/std_macros.rs:15:29
   |
15 |                       let mut iter = args.into_iter();
   |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
   |
  ::: src/aplang_std/time.rs:10:5
   |
10 | /     std_function!(env.functions=> fn TIME() {
11 | |
12 | |         let now = SystemTime::now();
13 | |         let unix_time_ms = now.duration_since(UNIX_EPOCH).expect("TIME WENT BACKWARDS???");
14 | |
15 | |         return Ok(Value::Number(unix_time_ms.as_millis() as f64))
16 | |     });
   | |______- in this macro invocation
   |
   = note: this warning originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: variable does not need to be mutable
  --> src/aplang_std/std_macros.rs:15:25
   |
15 |                       let mut iter = args.into_iter();
   |                           ----^^^^
   |                           |
   |                           help: remove this `mut`
   |
  ::: src/aplang_std/time.rs:10:5
   |
10 | /     std_function!(env.functions=> fn TIME() {
11 | |
12 | |         let now = SystemTime::now();
13 | |         let unix_time_ms = now.duration_since(UNIX_EPOCH).expect("TIME WENT BACKWARDS???");
14 | |
15 | |         return Ok(Value::Number(unix_time_ms.as_millis() as f64))
16 | |     });
   | |______- in this macro invocation
   |
   = note: this warning originates in the macro `std_function` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unused variable: `e`
  --> src/aplang_std/file_system.rs:56:20
   |
56 |         if let Err(e) = write!(file, "{}" , contents) {
   |                    ^ help: if this is intentional, prefix it with an underscore: `_e`

warning: unused variable: `e`
  --> src/aplang_std/file_system.rs:71:20
   |
71 |         if let Err(e) = write!(file, "{}", contents){
   |                    ^ help: if this is intentional, prefix it with an underscore: `_e`

warning: type `interpreter::Context` is more private than the item `Env::venv`
   --> src/interpreter.rs:145:5
    |
145 |     pub venv: Vec<Context>,
    |     ^^^^^^^^^^^^^^^^^^^^^^ field `Env::venv` is reachable at visibility `pub(crate)`
    |
note: but type `interpreter::Context` is only usable at visibility `pub(self)`
   --> src/interpreter.rs:149:1
    |
149 | struct Context {
    | ^^^^^^^^^^^^^^
    = note: `#[warn(private_interfaces)]` on by default

warning: type `interpreter::Context` is more private than the item `Env::scrape`
   --> src/interpreter.rs:179:5
    |
179 |     pub fn scrape(&mut self) -> Context {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Env::scrape` is reachable at visibility `pub(crate)`
    |
note: but type `interpreter::Context` is only usable at visibility `pub(self)`
   --> src/interpreter.rs:149:1
    |
149 | struct Context {
    | ^^^^^^^^^^^^^^

warning: `aplang` (bin "aplang") generated 41 warnings (run `cargo fix --bin "aplang"` to apply 15 suggestions)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s

```