Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Issue 434: Fixed imprecise crefs in XML Docs - #485

Merged
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434
Jul 16, 2018
Merged

Issue 434: Fixed imprecise crefs in XML Docs#485
eerhardt merged 1 commit into
dotnet:masterfrom
markusweimer:issue-434

Conversation

@markusweimer

Copy link
Copy Markdown

This fixes a couple of dangling cref in the XML Docs. This commit doesn't contain functional changes to the code.

Issue:
This closes#434

@dnfclas

dnfclas commented Jul 3, 2018

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@markusweimer

Copy link
Copy Markdown
Author

The test failure seems odd, given that there are no functional changes in this PR.

using Microsoft.ML.Runtime.Tools;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.ML.Runtime.Command;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Order

@@ -350,7 +350,7 @@ public static void AddMultWithOffset(ref VBuffer<Float> src, Float c, ref VBuffe
/// Perform in-place scaling of a vector into another vector as
/// <c><paramref name="dst"/> = <paramref name="src"/> * <paramref name="c"/></c>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder why we have this depricated folder. Can you please check if the functions in here have any references?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They certainly do. I have no idea why this was put into deprecated, maybe @Ivanidzo4ka knows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is also spelled as "Depricated" :(

@Ivanidzo4kaIvanidzo4kaJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an responsible adult I would totally push my fault on shoulders of others. It appears to have been this way in the migrated codebase for some years, for no particular reason.


In reply to: 199894576 [](ancestors = 199894576)

@TomFinleyTomFinleyJul 3, 2018

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds legit.

@TomFinleyTomFinley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project, especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.) It's not immediately obvious to me that it should be a goal.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build should be updated to validate these at the same time the change is made. I can assist with this but wanted to mark the PR as soon as I noticed.

@markusweimer

Copy link
Copy Markdown
Author

I do not object to the change per se, but I wonder if we can have a policy if whether Rider support is actually a goal of this project,

Good point. I'd say no to that. As long as our builds work from the command line on all the platforms we target, we can stay out of the business of recommending or "supporting" tools.

What tool do we use to render API docs? If that tool can properly link the cref instances mentioned here, I am ok with closing this as a WONTFIX.

especially when it appears that the problem is that they have a bug with their doc comment parser. (Or else, VS is too permissive.)

I don't know enough about the rules for XML Docs. From what I understand from the warnings I got, we have two kinds of fixes in this PR:

  • cref pointing to a class that wasn't imported: Not raising an issue in VS here seems like overly lenient. How does the reader know which class is being referenced? Are there heuristics to be applied?
  • cref missing type parameters: I can see cases here where the type parameters aren't necessary to uniquely identify the class. However, not adding them seems brittle in the face of future change, as ambiguity could be introduced at a later time. And without tooling to raise an alert then, our documentation is at risk of deteriorating.

Hence, I currently believe that this PR is rooted in VS being more permissive than Rider / ReSharper.

@sharwellsharwell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further review, documentation comments are already validated during the build, and none of the locations changed by this pull request are ambiguous or problematic for the compiler. If a tool is failing to correctly read these references in source code, a bug should be filed for that tool because there is no validation we can automatically perform to ensure the comments stay "correct" with respect to those bugs in the future.

@sharwell

sharwell commented Jul 5, 2018

Copy link
Copy Markdown
Contributor

@markusweimer helped narrow down the sources of behavior differences. I'm now neutral on this pull request (it's implemented correctly even if it's not required by the compiler), but believe that the specific changes in #499 are important to avoid problems as development progresses.

📝 Since I'm not a core reviewer on this repository, GitHub does not allow me to dismiss my previous "request changes". It's not a blocking review either way, but please consider it effectively dismissed.

@shauheen

Copy link
Copy Markdown
Contributor

@codemzs are your comments resolved?

@markusweimer

Copy link
Copy Markdown
Author

With #499 merged, I'd like to rebase this and address @codemzs's comments at the same time.

This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closes#434
@markusweimer

Copy link
Copy Markdown
Author

I have done a rebase and addressed @codemzs's comments.

@markusweimer

Copy link
Copy Markdown
Author

@codemzs, @TomFinley, @sharwell How shall this proceed? Can it be merged?

@Ivanidzo4kaIvanidzo4ka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardteerhardt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@eerhardt
eerhardt merged commit ef169b2 into dotnet:masterJul 16, 2018
eerhardt pushed a commit to eerhardt/machinelearning that referenced this pull request Jul 27, 2018
This fixes a couple of dangling `cref` in the XML Docs. This commit
doesn't contain functional changes to the code.
Issue:
This closesdotnet#434
@ghostghost locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation crefs point to nonexisting classes

8 participants

@markusweimer@dnfclas@sharwell@shauheen@codemzs@Ivanidzo4ka@eerhardt@TomFinley