2016 Malaysian Open – Doubles

Liang Chen and Wang Yafan were the defending champions, but lost in the final to Varatchaya Wongteanchai and Yang Zhaoxuan, 4–6, 6–4, [10–7].

Doubles
2016 Malaysian Open
Champions Varatchaya Wongteanchai
Yang Zhaoxuan
Runners-up Liang Chen
Wang Yafan
Final score4–6, 6–4, [10–7]

Seeds

Draw

Key

First round Quarterfinals Semifinals Final
1 C Liang
Y Wang
6 2 [10]
  M Linette
K Zhang
3 6 [5] 1 C Liang
Y Wang
4 6 [10]
  K-c Chang
O Kalashnikova
77 6   K-c Chang
O Kalashnikova
6 3 [5]
  V Ivakhnenko
L Marozava
65 4 1 C Liang
Y Wang
6 77
4 M Melnikova
A Panova
6 6   K Piter
M Zanevska
3 63
  Pe Plipuech
K Takahata
2 1 4 M Melnikova
A Panova
2 77 [8]
  K Piter
M Zanevska
6 61 [11]   K Piter
M Zanevska
6 62 [10]
  N Broady
Ç Büyükakçay
4 77 [9] 1 C Liang
Y Wang
6 4 [7]
  Vara Wongteanchai
Z Yang
6 6   Vara Wongteanchai
Z Yang
4 6 [10]
  L Kunčíková
K Stuchlá
4 2   Vara Wongteanchai
Z Yang
6 6
  E Hozumi
M Kato
6 77   E Hozumi
M Kato
2 1
3 C-w Chan
B Krejčíková
3 62   Vara Wongteanchai
Z Yang
6 6
WC F Liu
J Noordin
3 4   Z Diyas
Y Xu
4 4
WC N Hibino
L Zhang
6 6 WC N Hibino
L Zhang
1 2
  Z Diyas
Y Xu
77 6   Z Diyas
Y Xu
6 6
2 D Jurak
N Melichar
65 1
gollark: At least it has generics.
gollark: Oh, and it's not a special case as much as just annoying, but it's a compile error to not use a variable or import. Which I would find reasonable as a linter rule, but it makes quickly editing and testing bits of code more annoying.
gollark: As well as having special casing for stuff, it often is just pointlessly hostile to abstracting anything:- lol no generics- you literally cannot define a well-typed `min`/`max` function (like Lua has). Unless you do something weird like... implement an interface for that on all the builtin number types, and I don't know if it would let you do that.- no map/filter/reduce stuff- `if err != nil { return err }`- the recommended way to map over an array in parallel, if I remember right, is to run a goroutine for every element which does whatever task you want then adds the result to a shared "output" array, and use a WaitGroup thingy to wait for all the goroutines. This is a lot of boilerplate.
gollark: It also does have the whole "anything which implements the right functions implements an interface" thing, which seems very horrible to me as a random change somewhere could cause compile errors with no good explanation.
gollark: - `make`/`new` are basically magic- `range` is magic too - what it does depends on the number of return values you use, or something. Also, IIRC user-defined types can't implement it- Generics are available for all of, what, three builtin types? Maps, slices and channels, if I remember right.- `select` also only works with the built-in channels- Constants: they can only be something like four types, and what even is `iota` doing- The multiple return values can't be used as tuples or anything. You can, as far as I'm aware, only return two (or, well, more than one) things at once, or bind two returns to two variables, nothing else.- no operator overloading- it *kind of* has exceptions (panic/recover), presumably because they realized not having any would be very annoying, but they're not very usable- whether reading from a channel is blocking also depends how many return values you use because of course

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.