Size: a a a

У нас тут секта криптоанархистов

2021 March 04

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
error[E0658]: destructuring assignments are unstable
 --> src/expr.rs:46:40
  |
46 |                 (state, input, output) = l.run(state, input, output);
  |                 ---------------------- ^
  |                 |
  |                 cannot assign to this expression
  |
  = note: see issue #71126 <https://github.com/rust-lang/rust/issues/71126> for more information

error[E0658]: destructuring assignments are unstable
 --> src/expr.rs:47:40
  |
47 |                 (state, input, output) = r.run(state, input, output);
  |                 ---------------------- ^
  |                 |
  |                 cannot assign to this expression
  |
  = note: see issue #71126 <https://github.com/rust-lang/rust/issues/71126> for more information

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0658.
error: could not compile compiler

To learn more, run the command again with --verbose.
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
В смысле
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
и вот че тут какой-то анус писать
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
и когда будет стэйбл
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
пойду глядеть
источник

S[

Seer Iλya [Vennik E1... in У нас тут секта криптоанархистов
ʰᵉˡˡᵒᵈᵒᵍᵉ
use std::collections::HashMap;

fn add_value(s: String, i: i32, h: &mut HashMap<String, i32>) {
   h.insert(s, i);
}

fn main() {
   let mut x = HashMap::new();
   add_value("a".into(), 12, &mut x);
}
в чём проблема юзать так?
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
Seer Iλya [Vennik E10]
в чём проблема юзать так?
да не в чем, уже похер
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
что с этим делать
источник

S[

Seer Iλya [Vennik E1... in У нас тут секта криптоанархистов
ʰᵉˡˡᵒᵈᵒᵍᵉ
error[E0597]: s does not live long enough
--> hashmap.rs:4:14
 |
3 | fn add_value(s: String, i: i32, h: &mut HashMap<&str, i32>) {
 |                                                 - let's call the lifetime of this reference '1
4 |     h.insert(s.as_str(), i);
 |     ---------^-------------
 |     |        |
 |     |        borrowed value does not live long enough
 |     argument requires that s is borrowed for '1
5 | }
 | - s dropped here while still borrowed

error: aborting due to previous error

For more information about this error, try rustc --explain E0597.
use std::collections::HashMap;

fn add_value<'a>(s: &'a String, i: i32, h: &mut HashMap<&'a str, i32>) {
   h.insert(s.as_str(), i);
}

fn main() {
   let mut x = HashMap::new();
   add_value(&"a".into(), 12, &mut x);
}

достаточно надумано, зато всё ок
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
спасибо
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
ʰᵉˡˡᵒᵈᵒᵍᵉ
error[E0658]: destructuring assignments are unstable
 --> src/expr.rs:46:40
  |
46 |                 (state, input, output) = l.run(state, input, output);
  |                 ---------------------- ^
  |                 |
  |                 cannot assign to this expression
  |
  = note: see issue #71126 <https://github.com/rust-lang/rust/issues/71126> for more information

error[E0658]: destructuring assignments are unstable
 --> src/expr.rs:47:40
  |
47 |                 (state, input, output) = r.run(state, input, output);
  |                 ---------------------- ^
  |                 |
  |                 cannot assign to this expression
  |
  = note: see issue #71126 <https://github.com/rust-lang/rust/issues/71126> for more information

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0658.
error: could not compile compiler

To learn more, run the command again with --verbose.
а вот это как правильно сделать тогда
источник

S[

Seer Iλya [Vennik E1... in У нас тут секта криптоанархистов
ʰᵉˡˡᵒᵈᵒᵍᵉ
error[E0658]: destructuring assignments are unstable
 --> src/expr.rs:46:40
  |
46 |                 (state, input, output) = l.run(state, input, output);
  |                 ---------------------- ^
  |                 |
  |                 cannot assign to this expression
  |
  = note: see issue #71126 <https://github.com/rust-lang/rust/issues/71126> for more information

error[E0658]: destructuring assignments are unstable
 --> src/expr.rs:47:40
  |
47 |                 (state, input, output) = r.run(state, input, output);
  |                 ---------------------- ^
  |                 |
  |                 cannot assign to this expression
  |
  = note: see issue #71126 <https://github.com/rust-lang/rust/issues/71126> for more information

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0658.
error: could not compile compiler

To learn more, run the command again with --verbose.
а где код?
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
impl Stmt {
   fn run<'a>(self, mut state: HashMap<String, i32>,
              mut input: Option<&'a [i32]>,
              mut output: Vec<i32>) -> (
                  HashMap<String, i32>,
                  Option<&'a [i32]>,
                  Vec<i32>
              ) {
       match self {
           Stmt::Skip => (),
           Stmt::Read (s) => {
               state.insert(s, input.expect("No values in input")[0]);
               input = input.unwrap().get(1..);
           },
           Stmt::Write (e) => output.push(e.eval(&state)),
           Stmt::Assign (s, e) => { state.insert(s, e.eval(&state)); } ,
           Stmt::Seq (l, r) => {
               (state, input, output) = l.run(state, input, output);
               (state, input, output) = r.run(state, input, output);
           }
       }
       (state, input, output)
   }
}
источник

S[

Seer Iλya [Vennik E1... in У нас тут секта криптоанархистов
а кто такой Stmt
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
pub (crate) enum Stmt {
   Skip,
   Read (String),
   Write (Expr),
   Assign (String, Expr),
   Seq (Box<Stmt>, Box<Stmt>),
}
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
pub (crate) enum Expr {
   Const (i32),
   Var (String),
   Add (Box<Expr>, Box<Expr>),
   Mul (Box<Expr>, Box<Expr>)
}

impl Expr {
   fn eval (self, state: &HashMap<String, i32>) -> i32 {
       match self {
           Expr::Const (n) => n,
           Expr::Var (n) => *state.get(&n).expect("Not a varible"),
           Expr::Add (l, r) => l.eval(state) + r.eval(state),
           Expr::Mul (l, r) => l.eval(state) * r.eval(state),
       }
   }
}
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
variable хм
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
но вообще что-то такое
тут весь смысл перезаписать вот эти три штуки
состояние, входной и выходной поток
источник

S[

Seer Iλya [Vennik E1... in У нас тут секта криптоанархистов
ʰᵉˡˡᵒᵈᵒᵍᵉ
impl Stmt {
   fn run<'a>(self, mut state: HashMap<String, i32>,
              mut input: Option<&'a [i32]>,
              mut output: Vec<i32>) -> (
                  HashMap<String, i32>,
                  Option<&'a [i32]>,
                  Vec<i32>
              ) {
       match self {
           Stmt::Skip => (),
           Stmt::Read (s) => {
               state.insert(s, input.expect("No values in input")[0]);
               input = input.unwrap().get(1..);
           },
           Stmt::Write (e) => output.push(e.eval(&state)),
           Stmt::Assign (s, e) => { state.insert(s, e.eval(&state)); } ,
           Stmt::Seq (l, r) => {
               (state, input, output) = l.run(state, input, output);
               (state, input, output) = r.run(state, input, output);
           }
       }
       (state, input, output)
   }
}
а зачем ты кортеж возвращаешь?
источник

ʰ

ʰᵉˡˡᵒᵈᵒᵍᵉ... in У нас тут секта криптоанархистов
Seer Iλya [Vennik E10]
а зачем ты кортеж возвращаешь?
https://www.youtube.com/watch?v=mkf1amaeFNw&t=659s
сижу один в один по формулам херачу
источник