summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorMegan Wachs2021-10-05 10:27:18 -0700
committerGitHub2021-10-05 17:27:18 +0000
commitce15ad50a5c175db06c3bba5e3bf46b6c5466c47 (patch)
treebcec55dbb92bc827b3d3ec973481baa4d380c489 /core
parent790a1806c7c5333cea15abbd2657fa893beb92c9 (diff)
Remove all Bundle cloneTypes and chiselRuntimeDeprecate its use (#2052)
* Remove all manual cloneTypes and make it chisel runtime deprecated to add one * runtime deprecate cloneType with runtime reflection * [Backport this commit] Bundle: add check that override def cloneType still works (will be made an error later) * Plugin: make it an error to override cloneType and add a test for that * Docs: can't compile the cloneType anymore * BundleSpec: comment out failing test I cannot get to fail or ignore Co-authored-by: Jack Koenig <koenig@sifive.com>
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/chisel3/Aggregate.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/src/main/scala/chisel3/Aggregate.scala b/core/src/main/scala/chisel3/Aggregate.scala
index 17e46cb3..1892f7c2 100644
--- a/core/src/main/scala/chisel3/Aggregate.scala
+++ b/core/src/main/scala/chisel3/Aggregate.scala
@@ -1146,6 +1146,10 @@ abstract class Bundle(implicit compileOptions: CompileOptions) extends Record {
*/
protected def _cloneTypeImpl: Bundle = {
assert(Builder.allowReflectiveAutoCloneType, "reflective autoclonetype is disallowed, this should only happen in testing")
+ Builder.deprecated(
+ "The runtime reflection inference for cloneType (_cloneTypeImpl) is deprecated as of Chisel 3.5: " +
+ "Use the Compiler Plugin to infer cloneType"
+ )
// This attempts to infer constructor and arguments to clone this Bundle subtype without
// requiring the user explicitly overriding cloneType.
import scala.language.existentials