869 lines
34 KiB
Text
869 lines
34 KiB
Text
Compiling fayalite-proc-macros v0.3.0 (/home/alex/Hacking/FPGA/libre-chip/fayalite/crates/fayalite-proc-macros)
|
|
Compiling fayalite v0.3.0 (/home/alex/Hacking/FPGA/libre-chip/fayalite/crates/fayalite)
|
|
warning: unused import: `make_impls`
|
|
--> crates/fayalite/src/expr/ops.rs:582:16
|
|
|
|
|
582 | pub(crate) use make_impls;
|
|
| ^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused imports: `annotations::make_annotation_enum` and `intern::Interned`
|
|
--> crates/fayalite/src/vendor/lattice.rs:5:5
|
|
|
|
|
5 | annotations::make_annotation_enum,
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
6 | build::{GlobalParams, ToArgs, WriteArgs},
|
|
7 | intern::Interned,
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `ordered_float::NotNan`
|
|
--> crates/fayalite/src/vendor/lattice.rs:11:5
|
|
|
|
|
11 | use ordered_float::NotNan;
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `primitives`
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:15:9
|
|
|
|
|
15 | primitives,
|
|
| ^^^^^^^^^^
|
|
|
|
warning: unused import: `ordered_float::NotNan`
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:18:5
|
|
|
|
|
18 | use ordered_float::NotNan;
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: variant `OrangeCrab_25k` should have an upper camel case name
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:63:9
|
|
|
|
|
63 | OrangeCrab_25k,
|
|
| ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrangeCrab25k`
|
|
|
|
|
= note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
|
|
|
|
warning: variant `OrangeCrab_85k` should have an upper camel case name
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:65:9
|
|
|
|
|
65 | OrangeCrab_85k,
|
|
| ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrangeCrab85k`
|
|
|
|
warning: unused imports: `Annotation`, `ScopedNameId`, `TargetBase`, and `TargetName`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:5:19
|
|
|
|
|
5 | annotations::{Annotation, TargetedAnnotation},
|
|
| ^^^^^^^^^^
|
|
...
|
|
16 | expr::target::{Target, TargetBase},
|
|
| ^^^^^^^^^^
|
|
...
|
|
20 | NameId, ScopedNameId, TargetName,
|
|
| ^^^^^^^^^^^^ ^^^^^^^^^^
|
|
|
|
warning: unused import: `convert::Infallible`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:34:5
|
|
|
|
|
34 | convert::Infallible,
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused variable: `lhs_ty`
|
|
--> crates/fayalite/src/sim/compiler.rs:3809:37
|
|
|
|
|
3809 | CanonicalType::Enum(lhs_ty) => {
|
|
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_ty`
|
|
|
|
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused variable: `rhs_ty`
|
|
--> crates/fayalite/src/sim/compiler.rs:3810:45
|
|
|
|
|
3810 | let CanonicalType::Enum(rhs_ty) = rhs.ty() else {
|
|
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_ty`
|
|
|
|
warning: unused variable: `part_name`
|
|
--> crates/fayalite/src/sim/compiler.rs:3898:37
|
|
|
|
|
3898 | let mut alloc_small_slot = |part_name: &str| {
|
|
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_part_name`
|
|
|
|
warning: unused variable: `annotations`
|
|
--> crates/fayalite/src/sim/compiler.rs:4080:23
|
|
|
|
|
4080 | let StmtReg { annotations, reg } = stmt_reg;
|
|
| ^^^^^^^^^^^ help: try ignoring the field: `annotations: _`
|
|
|
|
warning: unused variable: `annotations`
|
|
--> crates/fayalite/src/sim/compiler.rs:4118:46
|
|
|
|
|
4118 | StmtDeclaration::Wire(StmtWire { annotations, wire }) => {}
|
|
| ^^^^^^^^^^^ help: try ignoring the field: `annotations: _`
|
|
|
|
warning: unused variable: `wire`
|
|
--> crates/fayalite/src/sim/compiler.rs:4118:59
|
|
|
|
|
4118 | StmtDeclaration::Wire(StmtWire { annotations, wire }) => {}
|
|
| ^^^^ help: try ignoring the field: `wire: _`
|
|
|
|
warning: unused variable: `annotations`
|
|
--> crates/fayalite/src/sim/compiler.rs:4129:17
|
|
|
|
|
4129 | annotations,
|
|
| ^^^^^^^^^^^ help: try ignoring the field: `annotations: _`
|
|
|
|
warning: unused variable: `location`
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:233:49
|
|
|
|
|
233 | let make_buffered_output = |name: &str, location: &str, io_standard: &str| {
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
|
|
|
|
warning: unused variable: `io_standard`
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:233:65
|
|
|
|
|
233 | let make_buffered_output = |name: &str, location: &str, io_standard: &str| {
|
|
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_io_standard`
|
|
|
|
warning: unused variable: `location`
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:210:48
|
|
|
|
|
210 | let make_buffered_input = |name: &str, location: &str, io_standard: &str, invert: bool| {
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
|
|
|
|
warning: unused variable: `io_standard`
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:210:64
|
|
|
|
|
210 | let make_buffered_input = |name: &str, location: &str, io_standard: &str, invert: bool| {
|
|
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_io_standard`
|
|
|
|
warning: variable `frequency` is assigned to, but never used
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:257:13
|
|
|
|
|
257 | let mut frequency = clk100_div_pow2[0].ty().frequency();
|
|
| ^^^^^^^^^^^^^
|
|
|
|
|
= note: consider using `_frequency` instead
|
|
|
|
warning: value assigned to `frequency` is never read
|
|
--> crates/fayalite/src/vendor/lattice/orangecrab.rs:268:13
|
|
|
|
|
268 | frequency = p.ty().frequency();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: maybe it is overwritten before being read?
|
|
= note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused variable: `output`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:496:9
|
|
|
|
|
496 | output: &mut impl fmt::Write,
|
|
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
|
|
|
|
warning: unused variable: `port`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:497:9
|
|
|
|
|
497 | port: &ScalarizedModuleABIPort,
|
|
| ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
|
|
|
|
warning: unused variable: `annotations`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:498:9
|
|
|
|
|
498 | annotations: ScalarizedModuleABIAnnotations<'_>,
|
|
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_annotations`
|
|
|
|
warning: unused variable: `job_data`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:707:13
|
|
|
|
|
707 | let job_data @ YosysNextpnrRunNextpnr {
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_job_data`
|
|
|
|
warning: unused variable: `nextpnr_lattice_seed`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:708:13
|
|
|
|
|
708 | nextpnr_lattice_seed,
|
|
| ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `nextpnr_lattice_seed: _`
|
|
|
|
warning: unused variable: `routed_json_file_name`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:710:13
|
|
|
|
|
710 | routed_json_file_name,
|
|
| ^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `routed_json_file_name: _`
|
|
|
|
warning: unused variable: `job_data`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:861:13
|
|
|
|
|
861 | let job_data @ YosysNextpnrRunEcpPack {
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_job_data`
|
|
|
|
warning: unused variable: `placeholder_dir`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:862:4
|
|
|
|
|
862 | placeholder_dir,
|
|
| ^^^^^^^^^^^^^^^ help: try ignoring the field: `placeholder_dir: _`
|
|
|
|
warning: unused variable: `device`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:863:13
|
|
|
|
|
863 | device,
|
|
| ^^^^^^ help: try ignoring the field: `device: _`
|
|
|
|
warning: unused variable: `routed_json_file_name`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:864:13
|
|
|
|
|
864 | routed_json_file_name,
|
|
| ^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `routed_json_file_name: _`
|
|
|
|
warning: unused variable: `frames_file_name`
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:866:13
|
|
|
|
|
866 | frames_file_name,
|
|
| ^^^^^^^^^^^^^^^^ help: try ignoring the field: `frames_file_name: _`
|
|
|
|
warning: struct `SliceAsMapDebug` is never constructed
|
|
--> crates/fayalite/src/sim.rs:3231:8
|
|
|
|
|
3231 | struct SliceAsMapDebug<'a, T>(&'a [Option<T>]);
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: method `element_dyn` is never used
|
|
--> crates/fayalite/src/sim/compiler.rs:397:8
|
|
|
|
|
385 | impl CompiledValue<Array> {
|
|
| ------------------------- method in this implementation
|
|
...
|
|
397 | fn element_dyn(
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: methods `len`, `index`, `is_empty`, and `stride` are never used
|
|
--> crates/fayalite/src/sim/compiler.rs:444:27
|
|
|
|
|
434 | impl TypeArrayIndex {
|
|
| ------------------- methods in this implementation
|
|
...
|
|
444 | pub(crate) fn len(self) -> usize {
|
|
| ^^^
|
|
...
|
|
449 | pub(crate) fn index(self) -> StatePartIndex<StatePartKindSmallSlots> {
|
|
| ^^^^^
|
|
...
|
|
454 | pub(crate) fn is_empty(self) -> bool {
|
|
| ^^^^^^^^
|
|
...
|
|
457 | pub(crate) fn stride(self) -> TypeLen {
|
|
| ^^^^^^
|
|
...
|
|
569 | / get_state_part_kinds! {
|
|
570 | | make_type_array_indexes! {
|
|
571 | | type_plural_fields;
|
|
572 | | type_kinds;
|
|
573 | | }
|
|
574 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_type_array_indexes` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: methods `iter`, `for_each_offset`, `split_first`, and `for_each_offset2` are never used
|
|
--> crates/fayalite/src/sim/compiler.rs:478:27
|
|
|
|
|
469 | impl<'a> TypeArrayIndexesRef<'a> {
|
|
| -------------------------------- methods in this implementation
|
|
...
|
|
478 | pub(crate) fn iter(self) -> impl Iterator<Item = TypeArrayIndex> + 'a {
|
|
| ^^^^
|
|
...
|
|
483 | pub(crate) fn for_each_offset(
|
|
| ^^^^^^^^^^^^^^^
|
|
...
|
|
491 | pub(crate) fn split_first(self) -> Option<(TypeArrayIndex, Self)> {
|
|
| ^^^^^^^^^^^
|
|
...
|
|
501 | pub(crate) fn for_each_offset2(
|
|
| ^^^^^^^^^^^^^^^^
|
|
...
|
|
569 | / get_state_part_kinds! {
|
|
570 | | make_type_array_indexes! {
|
|
571 | | type_plural_fields;
|
|
572 | | type_kinds;
|
|
573 | | }
|
|
574 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_type_array_indexes` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: struct `TypeArrayIndexed` is never constructed
|
|
--> crates/fayalite/src/sim/compiler.rs:534:27
|
|
|
|
|
534 | pub(crate) struct TypeArrayIndexed {
|
|
| ^^^^^^^^^^^^^^^^
|
|
...
|
|
569 | / get_state_part_kinds! {
|
|
570 | | make_type_array_indexes! {
|
|
571 | | type_plural_fields;
|
|
572 | | type_kinds;
|
|
573 | | }
|
|
574 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_type_array_indexes` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: associated items `from_parts`, `base`, and `indexes` are never used
|
|
--> crates/fayalite/src/sim/compiler.rs:539:27
|
|
|
|
|
538 | impl TypeArrayIndexed {
|
|
| --------------------- associated items in this implementation
|
|
539 | pub(crate) fn from_parts(base: TypeIndex, indexes: TypeArrayIndexes) -> Self {
|
|
| ^^^^^^^^^^
|
|
...
|
|
547 | pub(crate) fn base(self) -> TypeIndex {
|
|
| ^^^^
|
|
...
|
|
552 | pub(crate) fn indexes(self) -> TypeArrayIndexes {
|
|
| ^^^^^^^
|
|
...
|
|
569 | / get_state_part_kinds! {
|
|
570 | | make_type_array_indexes! {
|
|
571 | | type_plural_fields;
|
|
572 | | type_kinds;
|
|
573 | | }
|
|
574 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_type_array_indexes` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: methods `add_target_without_indexes_to_set` and `add_target_and_indexes_to_set` are never used
|
|
--> crates/fayalite/src/sim/compiler.rs:602:8
|
|
|
|
|
591 | impl<T: Type> CompiledExpr<T> {
|
|
| ----------------------------- methods in this implementation
|
|
...
|
|
602 | fn add_target_without_indexes_to_set(self, inputs: &mut SlotSet) {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
611 | fn add_target_and_indexes_to_set(self, inputs: &mut SlotSet) {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: method `field_by_name` is never used
|
|
--> crates/fayalite/src/sim/compiler.rs:628:8
|
|
|
|
|
621 | impl CompiledExpr<Bundle> {
|
|
| ------------------------- method in this implementation
|
|
...
|
|
628 | fn field_by_name(self, name: Interned<str>) -> CompiledExpr<CanonicalType> {
|
|
| ^^^^^^^^^^^^^
|
|
|
|
warning: method `for_each` is never used
|
|
--> crates/fayalite/src/sim/compiler.rs:1272:16
|
|
|
|
|
1251 | impl SlotToAssignmentIndexFullMap {
|
|
| --------------------------------- method in this implementation
|
|
...
|
|
1272 | fn for_each(
|
|
| ^^^^^^^^
|
|
...
|
|
1413 | / get_state_part_kinds! {
|
|
1414 | | make_assignment_graph! {
|
|
1415 | | type_plural_fields;
|
|
1416 | | type_singular_variants;
|
|
... |
|
|
1422 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_assignment_graph` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: struct `SlotVec` is never constructed
|
|
--> crates/fayalite/src/sim/compiler.rs:1509:16
|
|
|
|
|
1509 | struct SlotVec {
|
|
| ^^^^^^^
|
|
...
|
|
1521 | / get_state_part_kinds! {
|
|
1522 | | make_slot_vec! {
|
|
1523 | | type_plural_fields;
|
|
1524 | | type_kinds;
|
|
1525 | | }
|
|
1526 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_slot_vec` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: method `is_empty` is never used
|
|
--> crates/fayalite/src/sim/compiler.rs:1514:16
|
|
|
|
|
1513 | impl SlotVec {
|
|
| ------------ method in this implementation
|
|
1514 | fn is_empty(&self) -> bool {
|
|
| ^^^^^^^^
|
|
...
|
|
1521 | / get_state_part_kinds! {
|
|
1522 | | make_slot_vec! {
|
|
1523 | | type_plural_fields;
|
|
1524 | | type_kinds;
|
|
1525 | | }
|
|
1526 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_slot_vec` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: methods `is_empty`, `for_each`, and `all` are never used
|
|
--> crates/fayalite/src/sim/compiler.rs:1539:16
|
|
|
|
|
1538 | impl SlotSet {
|
|
| ------------ methods in this implementation
|
|
1539 | fn is_empty(&self) -> bool {
|
|
| ^^^^^^^^
|
|
...
|
|
1542 | fn for_each(
|
|
| ^^^^^^^^
|
|
...
|
|
1548 | fn all(
|
|
| ^^^
|
|
...
|
|
1619 | / get_state_part_kinds! {
|
|
1620 | | make_slot_set! {
|
|
1621 | | type_plural_fields;
|
|
1622 | | type_kinds;
|
|
1623 | | }
|
|
1624 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_slot_set` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: constant `MIN_BITS_FOR_NEEDING_BIG` is never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:33:18
|
|
|
|
|
33 | pub(crate) const MIN_BITS_FOR_NEEDING_BIG: usize = SmallUInt::BITS as usize + 1;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: struct `InsnFieldTypeTransformUnit` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter.rs:50:19
|
|
|
|
|
50 | pub(crate) struct InsnFieldTypeTransformUnit;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: struct `InsnFieldTypeTransformValue` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter.rs:80:19
|
|
|
|
|
80 | pub(crate) struct InsnFieldTypeTransformValue;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: associated constant `UNIT` is never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:90:11
|
|
|
|
|
89 | pub trait InsnFieldTrait: Send + Sync + 'static + Copy + Eq + Hash + fmt::Debug {
|
|
| -------------- associated constant in this trait
|
|
90 | const UNIT: InsnFieldType<InsnFieldTypeTransformUnit>;
|
|
| ^^^^
|
|
|
|
warning: field `orig_insns` is never read
|
|
--> crates/fayalite/src/sim/interpreter.rs:1035:24
|
|
|
|
|
1034 | pub(crate) struct BorrowedState<'a> {
|
|
| ------------- field in this struct
|
|
1035 | pub(crate) orig_insns: Interned<Insns<InsnsBuildingDone>>,
|
|
| ^^^^^^^^^^
|
|
...
|
|
1052 | / get_state_part_kinds! {
|
|
1053 | | make_state! {
|
|
1054 | | state_plural_fields;
|
|
1055 | | state_kinds;
|
|
1056 | | }
|
|
1057 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: `BorrowedState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
|
|
= note: this warning originates in the macro `make_state` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: struct `StatePartIndexMap` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter.rs:1060:19
|
|
|
|
|
1060 | pub(crate) struct StatePartIndexMap<K: StatePartKind, V> {
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
warning: multiple associated items are never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:1079:19
|
|
|
|
|
1078 | impl<K: StatePartKind, V> StatePartIndexMap<K, V> {
|
|
| ------------------------------------------------- associated items in this implementation
|
|
1079 | pub(crate) fn new() -> Self {
|
|
| ^^^
|
|
...
|
|
1085 | pub(crate) fn get(&self, key: StatePartIndex<K>) -> Option<&V> {
|
|
| ^^^
|
|
...
|
|
1088 | pub(crate) fn get_mut(&mut self, key: StatePartIndex<K>) -> Option<&mut V> {
|
|
| ^^^^^^^
|
|
...
|
|
1091 | pub(crate) fn keys(&self) -> impl Iterator<Item = StatePartIndex<K>> + '_ {
|
|
| ^^^^
|
|
...
|
|
1094 | pub(crate) fn values(&self) -> vec_map::Values<'_, V> {
|
|
| ^^^^^^
|
|
...
|
|
1097 | pub(crate) fn values_mut(&mut self) -> vec_map::ValuesMut<'_, V> {
|
|
| ^^^^^^^^^^
|
|
...
|
|
1100 | pub(crate) fn iter(&self) -> impl Iterator<Item = (StatePartIndex<K>, &V)> + '_ {
|
|
| ^^^^
|
|
...
|
|
1105 | pub(crate) fn iter_mut(&mut self) -> impl Iterator<Item = (StatePartIndex<K>, &mut V)> + '_ {
|
|
| ^^^^^^^^
|
|
...
|
|
1110 | pub(crate) fn len(&self) -> usize {
|
|
| ^^^
|
|
...
|
|
1113 | pub(crate) fn is_empty(&self) -> bool {
|
|
| ^^^^^^^^
|
|
...
|
|
1116 | pub(crate) fn insert(&mut self, key: StatePartIndex<K>, value: V) -> Option<V> {
|
|
| ^^^^^^
|
|
...
|
|
1119 | pub(crate) fn remove(&mut self, key: StatePartIndex<K>) -> Option<V> {
|
|
| ^^^^^^
|
|
...
|
|
1122 | pub(crate) fn entry(&mut self, key: StatePartIndex<K>) -> StatePartIndexMapEntry<'_, K, V> {
|
|
| ^^^^^
|
|
|
|
warning: struct `StatePartIndexMapVacantEntry` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter.rs:1154:19
|
|
|
|
|
1154 | pub(crate) struct StatePartIndexMapVacantEntry<'a, K: StatePartKind, V>(
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: struct `StatePartIndexMapOccupiedEntry` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter.rs:1159:19
|
|
|
|
|
1159 | pub(crate) struct StatePartIndexMapOccupiedEntry<'a, K: StatePartKind, V>(
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: enum `StatePartIndexMapEntry` is never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:1164:17
|
|
|
|
|
1164 | pub(crate) enum StatePartIndexMapEntry<'a, K: StatePartKind, V> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: methods `or_insert` and `or_insert_with` are never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:1170:19
|
|
|
|
|
1169 | impl<'a, K: StatePartKind, V> StatePartIndexMapEntry<'a, K, V> {
|
|
| -------------------------------------------------------------- methods in this implementation
|
|
1170 | pub(crate) fn or_insert(self, default: V) -> &'a mut V {
|
|
| ^^^^^^^^^
|
|
...
|
|
1176 | pub(crate) fn or_insert_with(self, f: impl FnOnce() -> V) -> &'a mut V {
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: method `last_insn_pc` is never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:1193:19
|
|
|
|
|
1184 | impl Insns<InsnsBuilding> {
|
|
| ------------------------- method in this implementation
|
|
...
|
|
1193 | pub(crate) fn last_insn_pc(&self) -> usize {
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: function `bigint_pow2` is never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:1338:4
|
|
|
|
|
1338 | fn bigint_pow2(width: usize) -> Interned<BigInt> {
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: methods `fields_unit` and `into_fields` are never used
|
|
--> crates/fayalite/src/sim/interpreter.rs:449:27
|
|
|
|
|
448 | impl $Insn {
|
|
| ---------- methods in this implementation
|
|
449 | $vis const fn fields_unit(&self) -> &'static [InsnField<InsnFieldTypeTransformUnit>] {
|
|
| ^^^^^^^^^^^
|
|
...
|
|
521 | $vis fn into_fields(self) -> std::array::IntoIter<InsnField<InsnFieldTypeTransformValue>, { $Insn::MAX_FIELDS }> {
|
|
| ^^^^^^^^^^^
|
|
...
|
|
1435 | / impl_insns! {
|
|
1436 | | #[insn = Insn, next_macro = next, branch_macro = branch]
|
|
1437 | | pub(crate) fn State::run(&mut self) -> () {
|
|
1438 | | #[state]
|
|
... |
|
|
2106 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `impl_insns` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: method `offset` is never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:490:19
|
|
|
|
|
469 | impl<K: StatePartKind> StatePartIndexRange<K> {
|
|
| --------------------------------------------- method in this implementation
|
|
...
|
|
490 | pub(crate) fn offset(self, offset: StatePartIndex<K>) -> Self {
|
|
| ^^^^^^
|
|
|
|
warning: methods `len` and `is_empty` are never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:574:27
|
|
|
|
|
573 | impl<BK: InsnsBuildingKind> StateLayout<BK> {
|
|
| ------------------------------------------- methods in this implementation
|
|
574 | pub(crate) fn len(&self) -> StateLen {
|
|
| ^^^
|
|
...
|
|
580 | pub(crate) fn is_empty(&self) -> bool {
|
|
| ^^^^^^^^
|
|
...
|
|
677 | / get_state_part_kinds! {
|
|
678 | | make_state_layout! {
|
|
679 | | state_plural_fields;
|
|
680 | | state_kinds;
|
|
681 | | }
|
|
682 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_layout` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: methods `next_index` and `allocate` are never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:592:27
|
|
|
|
|
591 | impl StateLayout<InsnsBuilding> {
|
|
| ------------------------------- methods in this implementation
|
|
592 | pub(crate) fn next_index(&self) -> StateIndex {
|
|
| ^^^^^^^^^^
|
|
...
|
|
598 | pub(crate) fn allocate<BK: InsnsBuildingKind>(
|
|
| ^^^^^^^^
|
|
...
|
|
677 | / get_state_part_kinds! {
|
|
678 | | make_state_layout! {
|
|
679 | | state_plural_fields;
|
|
680 | | state_kinds;
|
|
681 | | }
|
|
682 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_layout` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: method `is_empty` is never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:631:27
|
|
|
|
|
625 | impl<BK: InsnsBuildingKind> TypeLayout<BK> {
|
|
| ------------------------------------------ method in this implementation
|
|
...
|
|
631 | pub(crate) fn is_empty(&self) -> bool {
|
|
| ^^^^^^^^
|
|
...
|
|
677 | / get_state_part_kinds! {
|
|
678 | | make_state_layout! {
|
|
679 | | state_plural_fields;
|
|
680 | | state_kinds;
|
|
681 | | }
|
|
682 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_layout` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: method `next_index` is never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:652:27
|
|
|
|
|
651 | impl TypeLayout<InsnsBuilding> {
|
|
| ------------------------------ method in this implementation
|
|
652 | pub(crate) fn next_index(&self) -> TypeIndex {
|
|
| ^^^^^^^^^^
|
|
...
|
|
677 | / get_state_part_kinds! {
|
|
678 | | make_state_layout! {
|
|
679 | | state_plural_fields;
|
|
680 | | state_kinds;
|
|
681 | | }
|
|
682 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_layout` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: method `is_empty` is never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:702:19
|
|
|
|
|
693 | impl<K: StatePartKind, BK: InsnsBuildingKind> StatePartLayout<K, BK> {
|
|
| -------------------------------------------------------------------- method in this implementation
|
|
...
|
|
702 | pub(crate) fn is_empty(&self) -> bool {
|
|
| ^^^^^^^^
|
|
|
|
warning: struct `StateLen` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:809:27
|
|
|
|
|
809 | pub(crate) struct StateLen {
|
|
| ^^^^^^^^
|
|
...
|
|
863 | / get_state_part_kinds! {
|
|
864 | | make_state_len! {
|
|
865 | | state_plural_fields;
|
|
866 | | state_kinds;
|
|
... |
|
|
870 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_len` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: method `only_small` is never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:849:33
|
|
|
|
|
824 | impl TypeLen {
|
|
| ------------ method in this implementation
|
|
...
|
|
849 | pub(crate) const fn only_small(mut self) -> Option<StatePartLen<StatePartKindSmallSlots>> {
|
|
| ^^^^^^^^^^
|
|
...
|
|
863 | / get_state_part_kinds! {
|
|
864 | | make_state_len! {
|
|
865 | | state_plural_fields;
|
|
866 | | state_kinds;
|
|
... |
|
|
870 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_len` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: struct `StateIndex` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:926:27
|
|
|
|
|
926 | pub(crate) struct StateIndex {
|
|
| ^^^^^^^^^^
|
|
...
|
|
949 | / get_state_part_kinds! {
|
|
950 | | make_state_index! {
|
|
951 | | state_plural_fields;
|
|
952 | | state_kinds;
|
|
953 | | }
|
|
954 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_index` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: struct `StateIndexRange` is never constructed
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:963:27
|
|
|
|
|
963 | pub(crate) struct StateIndexRange {
|
|
| ^^^^^^^^^^^^^^^
|
|
...
|
|
1041 | / get_state_part_kinds! {
|
|
1042 | | make_state_index_range! {
|
|
1043 | | state_plural_fields;
|
|
1044 | | state_kinds;
|
|
... |
|
|
1047 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_index_range` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: methods `start`, `len`, and `is_empty` are never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:969:27
|
|
|
|
|
968 | impl StateIndexRange {
|
|
| -------------------- methods in this implementation
|
|
969 | pub(crate) fn start(self) -> StateIndex {
|
|
| ^^^^^
|
|
...
|
|
975 | pub(crate) fn len(self) -> StateLen {
|
|
| ^^^
|
|
...
|
|
981 | pub(crate) fn is_empty(self) -> bool {
|
|
| ^^^^^^^^
|
|
...
|
|
1041 | / get_state_part_kinds! {
|
|
1042 | | make_state_index_range! {
|
|
1043 | | state_plural_fields;
|
|
1044 | | state_kinds;
|
|
... |
|
|
1047 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_index_range` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: method `offset` is never used
|
|
--> crates/fayalite/src/sim/interpreter/parts.rs:1023:27
|
|
|
|
|
991 | impl TypeIndexRange {
|
|
| ------------------- method in this implementation
|
|
...
|
|
1023 | pub(crate) fn offset(self, offset: TypeIndex) -> Self {
|
|
| ^^^^^^
|
|
...
|
|
1041 | / get_state_part_kinds! {
|
|
1042 | | make_state_index_range! {
|
|
1043 | | state_plural_fields;
|
|
1044 | | state_kinds;
|
|
... |
|
|
1047 | | }
|
|
| |_- in this macro invocation
|
|
|
|
|
= note: this warning originates in the macro `make_state_index_range` which comes from the expansion of the macro `get_state_part_kinds` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
warning: methods `is_unique` and `is_shared` are never used
|
|
--> crates/fayalite/src/util/alternating_cell.rs:59:19
|
|
|
|
|
40 | impl<T: ?Sized> AlternatingCell<T> {
|
|
| ---------------------------------- methods in this implementation
|
|
...
|
|
59 | pub(crate) fn is_unique(&self) -> bool {
|
|
| ^^^^^^^^^
|
|
...
|
|
62 | pub(crate) fn is_shared(&self) -> bool {
|
|
| ^^^^^^^^^
|
|
|
|
warning: function `tcl_escape` is never used
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:362:4
|
|
|
|
|
362 | fn tcl_escape(s: impl AsRef<str>) -> String {
|
|
| ^^^^^^^^^^
|
|
|
|
warning: field `0` is never read
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:382:12
|
|
|
|
|
382 | Module(Module<Bundle>),
|
|
| ------ ^^^^^^^^^^^^^^
|
|
| |
|
|
| field in this variant
|
|
|
|
|
= note: `AnnotationTarget` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
|
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
|
|
|
|
382 - Module(Module<Bundle>),
|
|
382 + Module(()),
|
|
|
|
|
|
|
warning: field `0` is never read
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:383:9
|
|
|
|
|
383 | Mem(Mem),
|
|
| --- ^^^
|
|
| |
|
|
| field in this variant
|
|
|
|
|
= note: `AnnotationTarget` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
|
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
|
|
|
|
383 - Mem(Mem),
|
|
383 + Mem(()),
|
|
|
|
|
|
|
warning: method `source_location` is never used
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:388:8
|
|
|
|
|
387 | impl AnnotationTarget {
|
|
| --------------------- method in this implementation
|
|
388 | fn source_location(self) -> SourceLocation {
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
warning: field `output` is never read
|
|
--> crates/fayalite/src/vendor/lattice/yosys_nextpnr.rs:399:5
|
|
|
|
|
398 | struct PcfFileWriter<W: fmt::Write> { //TODO
|
|
| ------------- field in this struct
|
|
399 | output: W,
|
|
| ^^^^^^
|
|
|
|
warning: `fayalite` (lib) generated 77 warnings (run `cargo fix --lib -p fayalite` to apply 29 suggestions)
|
|
Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 00s
|
|
Running `target/debug/examples/blinky yosys-nextpnr-ecp5 --nextpnr /home/alex/.guix-profile/bin/nextpnr-ecp5 --platform orangecrab-85k -o target/blinky-out --ecppack /home/alex/.guix-profile/bin/ecppack --placeholder-dir /tmp/anyPathBuf/orangecrab_r0.2.1.pcf --yosys /home/alex/.guix-profile/bin/yosys`
|
|
error: invalid value '/home/alex/.guix-profile/bin/nextpnr-ecp5' for '--nextpnr <NEXTPNR>': nextpnr: failed to resolve "/home/alex/.guix-profile/bin/nextpnr-ecp5" to a valid program: cannot find binary path
|
|
|
|
For more information, try '--help'.
|
|
make: *** [Makefile:6: all] Error 2
|