1. 09 8月, 2015 1 次提交
  2. 29 7月, 2015 1 次提交
  3. 09 7月, 2015 1 次提交
  4. 08 7月, 2015 1 次提交
  5. 04 7月, 2015 5 次提交
  6. 28 6月, 2015 1 次提交
    • J
      Begin refactor type checking state · 79d02895
      Jared Roesch 提交于
      This first patch starts by moving around pieces of state related to
      type checking. The goal is to slowly unify the type checking state
      into a single typing context. This initial patch moves the
      ParameterEnvironment into the InferCtxt and moves shared tables
      from Inherited and ty::ctxt into their own struct Tables. This
      is the foundational work to refactoring the type checker to
      enable future evolution of the language and tooling.
      79d02895
  7. 26 6月, 2015 1 次提交
  8. 13 6月, 2015 1 次提交
  9. 11 6月, 2015 1 次提交
  10. 10 6月, 2015 1 次提交
  11. 16 5月, 2015 1 次提交
  12. 04 5月, 2015 1 次提交
  13. 24 4月, 2015 2 次提交
  14. 15 4月, 2015 1 次提交
  15. 04 4月, 2015 1 次提交
  16. 03 4月, 2015 1 次提交
  17. 28 3月, 2015 1 次提交
  18. 27 3月, 2015 1 次提交
  19. 24 3月, 2015 1 次提交
  20. 18 3月, 2015 1 次提交
  21. 12 3月, 2015 4 次提交
  22. 06 3月, 2015 1 次提交
  23. 03 3月, 2015 1 次提交
  24. 26 2月, 2015 1 次提交
    • H
      Record the publicity of struct fields and enum variants. · eafdc713
      Huon Wilson 提交于
      The stability check checks the `PublicItems` map when giving errors if
      there is a #[stable] item with a public contents that doesn't not have
      its own stability. Without recording this, struct fields and enum
      variants will not get errors for e.g. stable modules with unmarked
      functions internally.
      
      This is just improving the compiler's precision to give the standard
      library developers more information earlier.
      
      E.g.
      
          #![staged_api]
          #![feature(staged_api)]
          #![crate_type = "lib"]
      
          #[stable(feature = "rust1", since = "1.0.0")]
          pub struct Foo {
              pub x: i32
          }
      
          #[stable(feature = "rust1", since = "1.0.0")]
          pub mod bar {
              pub fn baz() {}
          }
      
      Without the patch it gives:
      
          test.rs:12:5: 12:20 error: This node does not have a stability attribute
          test.rs:12     pub fn baz() {}
                         ^~~~~~~~~~~~~~~
          error: aborting due to previous error
      
      With the patch it gives:
      
          test.rs:7:9: 7:15 error: This node does not have a stability attribute
          test.rs:7     pub x: i32
                            ^~~~~~
          test.rs:12:5: 12:20 error: This node does not have a stability attribute
          test.rs:12     pub fn baz() {}
                         ^~~~~~~~~~~~~~~
          error: aborting due to 2 previous errors
      eafdc713
  25. 24 2月, 2015 8 次提交