Skip to content

Allow documentation on fields. #36

Open

Description

@ticki
    /// A page management error.
    enum Error {
        /// No clusters left in the freelist.
        ///
        /// This is the equivalent to OOM, but with disk space.
        OutOfClusters {
            description("Out of free clusters.")
        }
        /// A page checksum did not match.
        ///
        /// The checksum of the data and the checksum stored in the page pointer did not match.
        ///
        /// This indicates some form of data corruption in the sector storing the page.
        PageChecksumMismatch {
            /// The page with the mismatching checksum.
            page: page::Pointer,
            /// The actual checksum of the page.
            found: u32,
        } {
            display("Mismatching checksums in {} - expected {:x}, found {:x}.",
                    page, page.checksum, found)
            description("Mismatching checksum in page.")
        }
    }

gives error

error: expected ident, found #
  --> /home/andy/code/tfs/src/io/alloc.rs:22:13
   |
22 |             /// The page with the mismatching checksum.
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Activity

  1. ticki commented on Jan 25, 2017

    @ticki
    Author

    The issue seems to be that it doesn't respond to metadata attributes on fields, which has the consequence that #[doc = "blah"] doesn't work.

  2. ticki commented on Jan 25, 2017

    @ticki
    Author

    I've tried to implement it here, but the code is really messy, and I am having a hard time following it, so it ends up in an error currently, however I suspect it is almost in goal.

  3. tailhook commented on Jan 25, 2017

    @tailhook
    Owner

    I think implementation should be similar to #30, except we don't need these attributes in match statements. Your one looks fine, but I haven't tested it yet.

    By the way, this feature and #30 may conflict somehow (both work on attributes on variants but the attributes should be propagated in different ways). This is also the reason why I haven't applied #30. Hadn't checked if the conflict is real, though.

  4. ticki commented on Jan 25, 2017

    @ticki
    Author

    I like #30.

  5. ticki commented on Jan 25, 2017

    @ticki
    Author

    Oh. It's not a replacement, but a related pr. nvm

  6. tailhook commented on Apr 24, 2017

    @tailhook
    Owner

    Okay, I've merged in #30, but can't easily figure out how to fix this one :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions