• @hairyballs@programming.dev
    link
    fedilink
    1
    edit-2
    8 months ago

    There are still obvious things the BC cannot get. For example:

    struct Foo;
    
    impl Foo {
        fn num(&mut self) -> usize { 0 }
        fn index(&mut self, _i: usize) { }
    }
    
    let foo = Foo;
    foo.index(foo.num()); //error
    
    • @sirdorius@programming.dev
      link
      fedilink
      2
      edit-2
      8 months ago

      This looks like a pretty easy fix that the compiler could do by extracting the argument to a temp variable to improve the syntax of the language.