diff options
author | b-naber <bn263@gmx.de> | 2021-11-26 23:37:24 +0100 |
---|---|---|
committer | b-naber <bn263@gmx.de> | 2021-12-01 12:12:39 +0100 |
commit | a040b4189d326b25559041bd2c6452bfe0c9cfa7 (patch) | |
tree | 506bd07028cb5b2a4829f27702deeae341f402ce | |
parent | e0c98e2a33756507357534c24d5071ad93b23024 (diff) | |
download | rust-a040b4189d326b25559041bd2c6452bfe0c9cfa7.tar.gz |
more fixed issues
-rw-r--r-- | src/librustdoc/html/render/print_item.rs | 7 | ||||
-rw-r--r-- | src/test/ui/associated-types/issue-85103.rs | 9 | ||||
-rw-r--r-- | src/test/ui/associated-types/issue-85103.stderr | 8 | ||||
-rw-r--r-- | src/test/ui/associated-types/issue-91231.rs | 17 |
4 files changed, 41 insertions, 0 deletions
diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index d3738cfa3e7..48dd69155ce 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -1769,6 +1769,13 @@ fn document_type_layout(w: &mut Buffer, cx: &Context<'_>, ty_def_id: DefId) { the type was too big.</p>" ); } + Err(LayoutError::NormalizationFailure(_, _)) => { + writeln!( + w, + "<p><strong>Note:</strong> Encountered an error during type layout; \ + the type was not normalizable.</p>" + ) + } } writeln!(w, "</div>"); diff --git a/src/test/ui/associated-types/issue-85103.rs b/src/test/ui/associated-types/issue-85103.rs new file mode 100644 index 00000000000..c5e13856178 --- /dev/null +++ b/src/test/ui/associated-types/issue-85103.rs @@ -0,0 +1,9 @@ +#![feature(rustc_attrs)] + +use std::borrow::Cow; + +#[rustc_layout(debug)] +type Edges<'a, E> = Cow<'a, [E]>; +//~^ ERROR layout error: NormalizationFailure + +fn main() {} diff --git a/src/test/ui/associated-types/issue-85103.stderr b/src/test/ui/associated-types/issue-85103.stderr new file mode 100644 index 00000000000..142f3c411ec --- /dev/null +++ b/src/test/ui/associated-types/issue-85103.stderr @@ -0,0 +1,8 @@ +error: layout error: NormalizationFailure(<[E] as std::borrow::ToOwned>::Owned, Type(<[E] as std::borrow::ToOwned>::Owned)) + --> $DIR/issue-85103.rs:6:1 + | +LL | type Edges<'a, E> = Cow<'a, [E]>; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + diff --git a/src/test/ui/associated-types/issue-91231.rs b/src/test/ui/associated-types/issue-91231.rs new file mode 100644 index 00000000000..3c1cb81f097 --- /dev/null +++ b/src/test/ui/associated-types/issue-91231.rs @@ -0,0 +1,17 @@ +// check-pass + +#![feature(extern_types)] +#![allow(dead_code)] + +extern { + type Extern; +} + +trait Trait { + type Type; +} + +#[inline] +fn f<'a>(_: <&'a Extern as Trait>::Type) where &'a Extern: Trait {} + +fn main() {} |