1. 11 12月, 2018 1 次提交
  2. 10 12月, 2018 3 次提交
  3. 08 12月, 2018 1 次提交
  4. 29 11月, 2018 2 次提交
  5. 28 11月, 2018 1 次提交
  6. 20 11月, 2018 1 次提交
  7. 17 11月, 2018 1 次提交
    • N
      Extract nullable state operations to extension methods. (#31188) · 962c84b3
      Neal Gafter 提交于
      Add tests to demonstrate that they are associative and commutative.
      Add (skipped) tests to demonstrate that we have inconsistent meet and join functions.
          We will have to decide how to handle the differences.
      I have not yet extracted the NullableState operations from ConversionsBase
          (e.g. testing if one NullableState is higher or lower than another in the lattice)
      Also removed some inoperative code in MethodTypeInference
      962c84b3
  8. 10 11月, 2018 2 次提交
  9. 06 11月, 2018 1 次提交
    • R
      Disallow ref structs in expression trees (#30871) · ed8a00de
      Rikki Gibson 提交于
      * Expression tree reflike checks WIP
      
      * Move test from emit to semantics
      
      * Fix ExpressionTreeRefLikeWalker
      
      * Fix label indent
      
      * Add more tests
      
      * Move ExpressionTreeRefLikeWalker logic to DiagnosticsPass
      
      * Resolve TODOs in IsExpressionTree
      
      * Ignore BoundConversion when checking for ref structs in expression trees
      
      * Comment on the purpose of `!(node is BoundConversion)`
      
      * Add ErrorCode.ERR_ExpressionTreeCantContainRefStruct
      
      * Use new error code in DiagnosticsPass
      
      * Update tests
      
      * Add TypedReference tests
      
      * Replace IsByRefLikeType check with IsRestrictedType() check
      
      * Simplify VisitLambda
      
      * Add new diagnostics to ArglistTests.ExpressionTreeTest
      ed8a00de
  10. 02 11月, 2018 1 次提交
  11. 31 10月, 2018 1 次提交
    • R
      User-defined operator checks should ignore differences in tuple member names (#30774) · 6ddf37ae
      Rikki Gibson 提交于
      * Add test for tuple operator increment
      
      * Ignore tuple names when comparing return types to parameter types in increment/decrement operators
      
      * Add test for tuple identity conversion operator
      
      * Ignore tuple names when comparing conversion operator parameter and return types
      
      * Add test for tuple conversion to base type
      
      * Ignore tuple names when determining whether parameter or return type contains a conversion operator
      
      * Add test for tuple binary operator
      
      * Filter out type conflict warnings
      6ddf37ae
  12. 30 10月, 2018 1 次提交
  13. 26 10月, 2018 1 次提交
  14. 24 10月, 2018 2 次提交
  15. 19 10月, 2018 2 次提交
  16. 17 10月, 2018 2 次提交
  17. 16 10月, 2018 1 次提交
  18. 13 10月, 2018 1 次提交
  19. 11 10月, 2018 1 次提交
  20. 05 10月, 2018 1 次提交
  21. 02 10月, 2018 1 次提交
  22. 27 9月, 2018 1 次提交
  23. 26 9月, 2018 1 次提交
  24. 25 9月, 2018 1 次提交
  25. 23 9月, 2018 1 次提交
  26. 14 9月, 2018 2 次提交
  27. 13 9月, 2018 4 次提交
    • J
      Fixed a missed save · d59bde95
      Jared Parsons 提交于
      d59bde95
    • J
      PR feedback · df6797a9
      Jared Parsons 提交于
      df6797a9
    • J
      Fix race in SourceParameterSymbol · e0884e2f
      Jared Parsons 提交于
      This type, and it's children, had the same race condition around
      attributes that `SourceEventSymbol` did. After some thought I decided to
      move this code back into `SourceCompletionState` with a new name to make
      it clear the completion is around attributes only.
      
      This is a follow up to #29807
      e0884e2f
    • J
      Fix race in SourceEventSymbol.GetAttributesBag · e2d95115
      Jared Parsons 提交于
      There is a race condition around the setting of
      `CompletionPart.Attributes` in `SourceEventSymbol`. This can be exposed
      when the following execution pattern occurs:
      
      - Thread1: Calls `GetAttributesBag` and pauses execution on the line `
      `DeclaringCompilation.SymbolDeclaredEvent(this)`
      - Thread2: Calls `ForceComplete` which will unconditionally call
      `state.NotePartComplete(CompletionPart.Attributes)`
      - Thread1: Resumes and hits an assert because `NotePartComplete` returns
      `false`.
      
      The root problem here is the unconditional call of `NotePartComplete`
      inside of `ForceComplete`. The pattern in all of our other symbols for
      `ForceComplete` is the following:
      
      - Call `GetAttributes`
      - Call `SpinWaitComplete(CompletionPart.Attributes, cancellationToken)`
      
      This ensures that `NotePartComplete` is executed on the thread which
      actually completes the loading of attributes.
      
      As a part of fixing this I looked through all other uses of
      `NotePartComplete(CompletionPart.Attributes)` to ensure they didn't have
      this problem. Checked VB as well and it doesn't seem to have this issue.
      
      Struggled to find a good way to test this as it's a race condition.
      Given the high number of bugs we've recently filed on this assert I'm
      confident we have the indirect coverage in our suites.
      
      closes #28954
      e2d95115
  28. 11 9月, 2018 1 次提交
  29. 10 9月, 2018 1 次提交