| Age | Commit message (Collapse) | Author | Lines |
|
Qualified paths allow full path after the `>::`. For example
```rust
<T as Foo>::U::generic_method::<f64>()
```
The example is taken from `test/run-pass/associated-item-long-paths.rs`.
|
|
Closes https://github.com/rust-lang/rust/issues/29145
[breaking-change], needs a crater run.
|
|
The attributes are copied from the item for which the trait impl is derived
I think now we can close these two issues:
https://github.com/rust-lang/rust/issues/13054 - `allow`, `deny` etc. were already copied, now `stable` and `unstable` are copied as well.
https://github.com/rust-lang/rust/issues/18969 - I'm not sure this is needed, insta-stability were good enough so far, copied stability will be better. Nonetheless, it can be subsumed by some more general mechanism for supplying arbitrary not necessarily stability related attributes (for example `inline`) to derived impls and their methods (I haven't found an open issue for such mechanism).
r? @alexcrichton
|
|
The attributes are copied from the item for which the trait impl is derived
|
|
|
|
|
|
Closes https://github.com/rust-lang/rust/issues/28750
`Arm` and `Generics` don't have spans at all, so it's not a visitor's problem, `visit_struct_def` was fixed in https://github.com/rust-lang/rust/pull/28816
|
|
Stricter checking of stability attributes + enforcement of their invariants at compile time
(+ removed dead file librustc_front/attr.rs)
I intended to enforce use of `reason` for unstable items as well (it normally presents for new items), but it turned out too intrusive, many older unstable items don't have `reason`s.
r? @aturon
I'm studying how stability works and do some refactoring along the way, so it's probably not the last PR.
|
|
|
|
This is a [breaking change].
@brson could you do a Crater run with this PR please?
Lets not land till Crater says its OK.
This was discussed at https://internals.rust-lang.org/t/does-anyone-use-the-push-pop-unsafe-macros/2702
|
|
This is the original test implementation, which works according to the tests I wrote, but might need a review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stricter checking + enforcement of invariants at compile time
|
|
This is a [breaking change].
|
|
Previously, `/**/` was incorrectly regarded as a doc comment because it starts with `/**` and ends with `*/`. However, this caused an ICE because some code assumed that the length of a doc comment is at least 5. This commit adds an additional check to `is_block_doc_comment` that tests the length of the input.
Fixes #28844.
|
|
implement RFC 1238: nonparametric dropck.
cc #28498
cc @nikomatsakis
|
|
Previously, `/**/` was incorrectly regarded as a doc comment because it
starts with `/**` and ends with `*/`. However, this caused an ICE
because some code assumed that the length of a doc comment is at least
5. This commit adds an additional check to `is_block_doc_comment` that
tests the length of the input.
Fixes #28844.
|
|
r? @nikomatsakis
|
|
cc #28244
|
|
cc #28244.
|
|
|
|
So that lowering is reproducible
|
|
and some unrelated test cleanups
|
|
|
|
|
|
|
|
|
|
|
|
I needed it in `RawVec`, `Vec`, and `TypedArena` for `rustc` to
bootstrap; but of course that alone was not sufficient for `make
check`.
Later I added `unsafe_destructor_blind_to_params` to collections, in
particular `LinkedList` and `RawTable` (the backing representation for
`HashMap` and `HashSet`), to get the regression tests exercising
cyclic structure from PR #27185 building.
----
Note that the feature is `dropck_parametricity` (which is not the same
as the attribute's name). We will almost certainly vary our strategy
here in the future, so it makes some sense to have a not-as-ugly name
for the feature gate. (The attribute name was deliberately selected to
be ugly looking.)
|
|
Implement cannot-assume-parametricity (CAP) from RFC 1238, and add the
UGEH attribute.
----
Note that we check for the attribute attached to the dtor method, not
the Drop impl.
(This is just to match the specification of RFC and the tests; I am
not wedded to this approach.)
|
|
|
|
|
|
|
|
Fix #28402.
|
|
|
|
|
|
|
|
|
|
paths, and construct paths for all definitions. Also, stop rewriting
DefIds for closures, and instead just load the closure data from
the original def-id, which may be in another crate.
|
|
This enables the Debug trait to work on syntax::ast::Stmt.
|
|
|
|
|