1262 Commits

Author SHA1 Message Date
David Tolnay
ce5b068efa
Release 0.5.4 0.5.4 2020-11-04 16:32:04 -08:00
David Tolnay
22664ae52f
Fix missing declaration of impl<T> template 2020-11-04 16:30:45 -08:00
David Tolnay
b3060c66c8
Release 0.5.3 0.5.3 2020-11-04 10:52:01 -08:00
David Tolnay
bc21c75400
Merge pull request #415 from dtolnay/set
Introduce UnorderedSet newtype
2020-11-03 20:50:34 -08:00
David Tolnay
c42de6906f
Introduce UnorderedSet newtype 2020-11-03 19:40:24 -08:00
David Tolnay
ecdd2d2cc8
Introduce a visibility boundary inside of set module
In preparation for adding an UnorderedSet.
2020-11-03 19:36:24 -08:00
David Tolnay
5439fa195b
Preserve relative order of structs and enums 2020-11-03 19:21:30 -08:00
David Tolnay
818004ff66
Merge pull request #414 from dtolnay/sort
Point out every field involved in the cycle
2020-11-03 19:01:33 -08:00
David Tolnay
35b662dfc3
Point out every field involved in the cycle 2020-11-03 18:51:41 -08:00
David Tolnay
36b0ae8f3f
Merge pull request #413 from dtolnay/sort
Emit diagnostic on cyclic structs
2020-11-03 18:49:51 -08:00
David Tolnay
07b7c13bc8
Add ui test of struct cycle 2020-11-03 18:41:48 -08:00
David Tolnay
acae7a6aae
Emit diagnostic on cyclic structs 2020-11-03 18:41:47 -08:00
David Tolnay
8b483096e6
Pass error reporting context to topological sort 2020-11-03 18:41:47 -08:00
David Tolnay
0acfc126c7
Merge pull request #412 from dtolnay/sort
Perform topological sort of structs earlier during type checking
2020-11-03 18:41:40 -08:00
David Tolnay
942cffde23
Perform topological sort of structs earlier during type checking 2020-11-03 18:27:29 -08:00
David Tolnay
b0901e2cec
Merge pull request #411 from dtolnay/sort
Implement struct toposort
2020-11-03 18:22:34 -08:00
David Tolnay
9622b46410
Implement struct toposort 2020-11-03 18:16:02 -08:00
David Tolnay
392fbc6669
Add test of unsorted nested structs 2020-11-03 18:14:17 -08:00
David Tolnay
dd9e987fd6
Merge pull request #409 from dtolnay/stdin
Fix filename in diagnostics when taking input from stdin
2020-11-02 19:09:52 -08:00
David Tolnay
17184cf98d
Fix filename in diagnostics when taking input from stdin 2020-11-02 18:57:04 -08:00
David Tolnay
2faf8726a6
Merge pull request #408 from dtolnay/ctype
Pass improper ctype references by void pointer
2020-11-02 18:40:05 -08:00
David Tolnay
2f09042ef0
Restrict improper ctype special case to only contexts that require it 2020-11-02 18:28:13 -08:00
David Tolnay
4cb9767a1d
Pass improper ctype references by void pointer 2020-11-02 18:20:08 -08:00
David Tolnay
7953a11d0c
Implement improper ctypes check without infinite loop on cyclic structs 2020-11-02 18:20:08 -08:00
David Tolnay
fa1f15b2d7
Add logic for predicting improper_ctypes lint 2020-11-02 18:20:08 -08:00
David Tolnay
701c688476
Add repro of shared string by reference error 2020-11-02 18:20:08 -08:00
David Tolnay
5e88a0d840
Make Types available in expand_extern_type 2020-11-02 17:42:41 -08:00
David Tolnay
babf65ca00
Merge pull request #407 from dtolnay/throws
Simplify lowering of fallible extern C++ return values
2020-11-02 17:41:54 -08:00
David Tolnay
0d5248543e
Simplify extern C++ function return lowering 2020-11-02 17:24:13 -08:00
David Tolnay
2debdb2751
Remove needlessly Ok-wrapping indirect throws return values 2020-11-02 17:18:30 -08:00
David Tolnay
a1f02e51cf
More separation of handling throws and non-throws C++ function shims 2020-11-02 17:10:54 -08:00
David Tolnay
063e97d328
Merge pull request #406 from dtolnay/relocatable
Expose way to bypass trivial destr/move on extern types passed by value
2020-11-02 10:38:43 -08:00
David Tolnay
174bd95116
Expose way to bypass trivial destr/move on extern types passed by value 2020-11-02 10:23:52 -08:00
David Tolnay
dcfa8e91c6
Move include information of builtins to builtin.rs 2020-11-02 09:57:45 -08:00
David Tolnay
9bb232b12e
Remove ToTokens for Pair
Clearer to be explicit at the call sites.
2020-11-02 00:55:51 -08:00
David Tolnay
17a934c404
Rename non-Ident fields previously named ident
It will be clearer to avoid using 'ident' to refer to anything but Ident.
2020-11-02 00:53:59 -08:00
David Tolnay
da71ef6aa5
Remove ResolvableName from Ty1
This is not treated as resolvable for now. It only supports a hardcoded
set of generic types (UniquePtr, CxxVector, Box, Vec).
2020-11-02 00:36:03 -08:00
David Tolnay
8faec77e12
Move CppName's namespace into Pair 2020-11-02 00:31:34 -08:00
David Tolnay
58cd0c75b4
Skeleton for topological sort 2020-11-02 00:10:37 -08:00
David Tolnay
dfb82d74d5
Move Api::Include handling to pick_includes_and_builtins 2020-11-02 00:10:15 -08:00
David Tolnay
4bfca11c1e
Fix duplicated forward declaration for extern enums 2020-11-01 23:59:11 -08:00
David Tolnay
0e3ee8e398
Implement forward declaration for enums 2020-11-01 23:51:41 -08:00
David Tolnay
d920be5908
Indent forward declarations by namespace depth 2020-11-01 23:51:41 -08:00
David Tolnay
7b0e510029
Omit namespaces containing no forward declarations 2020-11-01 23:51:41 -08:00
David Tolnay
90b133b553
Move C++-specific namespace code unused by the proc macro 2020-11-01 22:53:37 -08:00
David Tolnay
6edeaab3cb
Treat un-namespaced items the same as root namespace 2020-11-01 22:48:37 -08:00
David Tolnay
f7b81fb845
Move NamespaceEntries to nested:: module
Since the way we sort nested namespaces is no longer based on alphabetic
order.
2020-11-01 22:39:22 -08:00
David Tolnay
de4b553927
Update test_ns_entries_sort to match source order sorting 2020-11-01 21:37:25 -08:00
David Tolnay
8704e3ed14
Preserve source order of namespaces for forward declaration
This enables us to avoid answering hard questions like whether 'foo10'
is less or greater than 'foo9'.
2020-11-01 21:33:25 -08:00
David Tolnay
0472c262bc
Flatten a nested if-let 2020-11-01 21:30:30 -08:00