bors[bot]
479d1f7eec
Merge #6818
...
6818: Add Lifetimes to the HIR r=matklad a=Veykril
This doesn't handle resolve yet as I don't know yet how that will be used. I'll get to that once I start moving the lifetime reference PR to the hir.
This also adds a new `hir` name type for lifetimes and labels, `hir::LifetimeName`.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-12 14:35:38 +00:00
Lukas Wirth
11f8664182
Add Lifetimes to the HIR
2020-12-12 00:56:52 +01:00
Lukas Wirth
8ed8e4f25a
Use Attrs::docs in NavigationTarget instead of DocCommentsOwner
2020-12-11 21:19:58 +01:00
bors[bot]
91bf15a2f5
Merge #6834
...
6834: Use Attrs::docs in runnables instead of DocCommentsOwner r=kjeremy a=Veykril
I figured that we should probably move as much of the doc usage to the HIR as possible hence this PR. If we should keep this AST-based feel free to close.
This change does have the nice(but not really useful as I doubt anyones gonna write doc tests like these) side effect that these two doc string snippets allow being run now.
![image](https://user-images.githubusercontent.com/3757771/101945607-bf241400-3bee-11eb-96ce-ccae80028b1f.png )
![image](https://user-images.githubusercontent.com/3757771/101946375-2e9a0380-3bef-11eb-9950-e35168fdd048.png )
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-11 19:57:08 +00:00
Lukas Wirth
ac19a71459
Use Attrs::docs in runnables instead of DocCommentsOwner
2020-12-11 20:11:03 +01:00
Jonas Schievink
00c34b048e
Add upstream commit to builtin_attr.rs
2020-12-11 19:12:06 +01:00
Jonas Schievink
253678ead2
Add builtin attributes for use in nameres
2020-12-11 14:04:33 +01:00
Jonas Schievink
d338513e95
Remove item tree tests
...
They were useful during initial development of the item tree, but
now just cause churn
2020-12-10 15:53:48 +01:00
Jonas Schievink
d82292e1ce
Ignore extern items in incorrect-case check
2020-12-10 15:45:01 +01:00
Aleksey Kladov
6e24321e45
Introduce anchored_path
...
They allow to represent paths like `#[path = "C:\path.rs"] mod foo;`
in a lossless cross-platform & network-transparent way.
2020-12-09 19:07:05 +03:00
bors[bot]
ef989880ff
Merge #6771
...
6771: Properly attach inner attributes in Attrs::new r=matklad a=Veykril
Properly attach inner and outer attributes to the things they actually belong to in the HIR. ~~I can add some tests for this if wanted once I know where to put them/how to test for this.~~ Put some tests into `hover.rs`.
So the following snippet
```rust
mod foo {
//! Hello
}
```
now shows `Hello` on hover 🎉
Fixes #2148
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-09 13:16:39 +00:00
bors[bot]
cd83ded8ee
Merge #6774
...
6774: Increment recursion count in Expander only on success r=lnicola a=Veykril
Fixes #6764
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-09 11:35:18 +00:00
Lukas Wirth
ec415618df
Properly decrement recursion count in Expander
2020-12-09 12:26:33 +01:00
Lukas Wirth
f8823e8cbc
Properly fetch inner and outer docs on hir-level
2020-12-09 09:22:41 +01:00
Lukas Wirth
eac77997bf
Properly fetch inner and outer attributes on hir-level
2020-12-08 23:21:20 +01:00
Jonas Schievink
306c6cbaac
Use original_file_range
in TestDB
2020-12-08 19:03:24 +01:00
Jonas Schievink
6c1d292569
Add test for $crate
in builtin macros
...
Fixes #6716
2020-12-08 17:17:30 +01:00
Jonas Schievink
678c74430b
Handle macros in TestDB::check_diagnostics
2020-12-08 17:16:18 +01:00
Lukas Wirth
2facd9517f
Escape string literals in Attr::from_src
2020-12-08 13:47:58 +01:00
Lukas Wirth
7a338e5207
Replace Arc<[str]> with String in attr::Documentation
2020-12-07 21:55:00 +01:00
Lukas Wirth
b064f6da9e
Keep doc attribute order
2020-12-07 20:38:28 +01:00
Lukas Wirth
efe86a42dc
Remove raw pre and suffixes from string attr literals
2020-12-07 19:58:17 +01:00
Lukas Wirth
1caaa201fa
Remove hir_def/docs.rs module
2020-12-07 19:58:17 +01:00
Lukas Wirth
b3652ef288
Remove documentation query
2020-12-07 19:58:17 +01:00
Lukas Wirth
93262c750e
Don't insert blank lines between doc attributes
2020-12-07 16:10:46 +01:00
Jonas Schievink
957fb18799
Make compile_error!
message match upstream rustc
...
It only consists of the argument passed to it
2020-12-03 19:07:37 +01:00
Jonas Schievink
3e6ffa5124
Fix proc macro token mapping
2020-12-03 18:38:05 +01:00
Jonas Schievink
883c8d177d
Make compile_error!
lazy and emit a diagnostic
2020-12-03 15:48:29 +01:00
Jonas Schievink
4634bfb332
Give better diagnostic if OUT_DIR
is unset
2020-12-03 15:48:29 +01:00
Jonas Schievink
17542d08b4
Update/Fix tests
2020-12-03 15:48:29 +01:00
Jonas Schievink
a634243634
Propagate eager expansion errors
2020-12-03 15:48:29 +01:00
Jonas Schievink
f4866bb05c
Test macro diagnostics in body lowering
2020-12-02 15:03:21 +01:00
bors[bot]
3e1fb112af
Merge #6698
...
6698: Attach macro expansion errors to the right file r=jonas-schievink a=jonas-schievink
Previously it attached them to the result of the macro expansion (or, if no result was produced, to the file containing the invocation). Always use the file containing the invocation.
This doesn't seem to have any observable difference, but seems better in theory.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-02 13:25:54 +00:00
Jonas Schievink
319fcd01ac
Attach macro expansion errors to the right file
2020-12-02 14:23:51 +01:00
bors[bot]
14086e3118
Merge #6697
...
6697: Don't discard PathKind::Abs information in lower_use::convert_path r=matklad a=Veykril
Fixes #6694
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-02 12:16:19 +00:00
Lukas Wirth
7b456552b8
Don't discard PathKind::Abs information in lower_use::convert_path
2020-12-02 09:54:03 +01:00
Jonas Schievink
ea7b81fef9
Emit unresolved proc macro errors
2020-12-01 12:40:03 +01:00
Jonas Schievink
be50908a50
Emit macro diagnostics when lowering bodies
2020-11-30 20:26:35 +01:00
Jonas Schievink
d171838d63
More accurately place proc-macro diagnostic
2020-11-27 16:29:40 +01:00
Jonas Schievink
0432aa0ed7
Publish diagnostics for macro expansion errors
2020-11-27 13:50:22 +01:00
Jonas Schievink
519d870c11
Don't store SyntaxNodePtr
in CrateDefMap
...
It is volatile across reparses and makes incrementality worse.
2020-11-26 17:29:09 +01:00
Jonas Schievink
74cb3e96a5
Test def map invalidation with #[cfg] below change
2020-11-26 17:28:00 +01:00
Kirill Bulatov
4baac238a8
Improve autoimports on completion speed
...
* Ignore modules eaferly
* Do less completion string rendering
2020-11-24 02:28:45 +02:00
Aleksey Kladov
5db789df9c
Cleanup API
2020-11-06 22:52:42 +01:00
Aleksey Kladov
2b108133ac
Don't stack overflow on circular modules
...
closes #6453
2020-11-04 15:31:35 +01:00
bors[bot]
8ad01d863b
Merge #6435
...
6435: Test Fixture ExplicitRoot + ModuleResolutionRelativePathOutsideRoot. r=matklad a=rickvanprim
Updates `module_resolution_relative_path_outside_root` test to check valid paths outside of the root, by moving the root to a subpath so that paths outside of it are possible. If this would be more appropriate as a new test, or if the original check for an invalid path should be left, I'm happy to update.
Co-authored-by: James Leitch <rickvanprim@gmail.com>
2020-11-03 16:36:34 +00:00
James Leitch
ff87726074
Feedback.
2020-11-02 10:57:31 -07:00
Aleksey Kladov
ba8d6d1e4e
Remove more unreachable pubs
2020-11-02 16:58:33 +01:00
Aleksey Kladov
b610118453
Deny unreachable-pub
...
It's very useful when `pub` is equivalent to "this is crate's public
API", let's enforce this!
Ideally, we should enforce it for local `cargo test`, and only during
CI, but that needs https://github.com/rust-lang/cargo/issues/5034 .
2020-11-02 14:07:08 +01:00
James Leitch
d2d7a4403c
Test Fixture ExplicitRoot + ModuleResolutionRelativePathOutsideRoot.
2020-11-01 17:20:55 -07:00